Web サイトのユーザーが画像をアップロードし、その上にテキストを書き込めるようにしたいと考えています。また、画像とテキストをトリミング/スケーリング/移動できる必要があります。そのようなことは、jQuery で行うことができます。
彼らが望むように画像を作成した後、その画像のスクリーンショットを (PiL を使用して) 取得し、サーバーに保存する方法はありますか?
これを行うための最良/適切な方法は何ですか?
Web サイトのユーザーが画像をアップロードし、その上にテキストを書き込めるようにしたいと考えています。また、画像とテキストをトリミング/スケーリング/移動できる必要があります。そのようなことは、jQuery で行うことができます。
彼らが望むように画像を作成した後、その画像のスクリーンショットを (PiL を使用して) 取得し、サーバーに保存する方法はありますか?
これを行うための最良/適切な方法は何ですか?
写真の「スクリーンショット」を撮ることは、最良の方法でも適切な方法でもありません。スクリーンショットを撮るには、クライアント マシンでコードを実行する必要がありますが、これは Web サイトのシナリオでは "不可能" です。
lolcat builderを見てください(今のところ、これ以上深刻な例は思いつきません ;)。[プレビュー] ボタンをクリックするたびに、テキスト、そのスタイル、および位置を含む URL で画像 src が更新されます。要求は、表示する新しい画像を生成するサーバーによって処理されます。
サーバー側にPythonがあると思います。
imo の最善の方法は、クライアントからすべての編集パラメータを何とか「取得」し、PIL を使用して再レンダリングすることです。
更新: 方法 サーバー側では、投稿を処理するための URL が必要です。クライアント側では、(各編集の後、) 編集パラメーターを使用してその URL に投稿を送信します。これには簡単な解決策はないと思います。
PIL を使用して最終イメージをレンダリングせず、パラメーターのみを記憶している場合、クライアントからの各ビューはそれ自体をレンダリングできますか?
そうですね、たとえ他の人があなたにこれをやめさせようとしているとしても、おそらくそれほど難しいことではないでしょう。
クライアント側では、画像上にフローティング/サイズ変更可能で、透明度があり、トリミング用にスケーリングできる div を定義します。
移動、テキストのみに適用されると想定しているため、クライアント側でドラッグ可能なスパンを動的に作成しますが、それでも簡単です。
スケール、それを行うための単純な UI のアイデアがありません。
画像を更新する場合は、データをシリアル化します (トリミング div の位置とテキスト スパンの位置 / スケーリング、画像の位置に相対的です)。次に、json または類似のものを使用して転送します。サーバーへのデータ。
次に、サーバー上で python/PIL を使用して、シリアル化した変換を再現します。