2011-12-02 26 views
0

私のサイトには四角いイメージが必要です。現時点で私は非常に基本的な画像アップロード機能を持っています。画像はサーバー上のPHPでアップロードされ、サイズが変更され二乗されます。これは、次のような問題の原因となっている: を - イメージしばしば不完全 二乗している - - それは は、サーバーリソースを大量に使用するユーザへの進展の兆候、彼らはイメージのアップロードと処理、サーバー側またはクライアント側?

Iを拡大イメージをアップロードしようと特に問題はありません私は今、すべての新しい画像アップロードページを移植することを見始めています。何をお勧めしますか、PHPで処理してください。私はおそらく私はクライアント側(私たちはjQueryを使用して)それを行うことができると思った、既存のライブラリがありますか?このクライアントサイドを良いアイデアにしていますか?良いPHP/javascriptワークフローとは何ですか?

答えて

0

JCropのようなjQueryクロッピングプラグインを使用して、比率ロックをサポートして二乗画像を確実にすることができます。

クライアントサイドでは100%安全ではないため、検証はサーバー側で重複する必要があることに注意してください。これは、画像の幅/高さをチェックし、必要に応じてPHPで再びトリミングすることを意味する場合があります。

0

実際のイメージデータを変更する場合は、クライアント側のソリューションに完全に依存することはできません。すべてのブラウザで必要な機能が使用できるわけではありません。あなたはjsでこれを行うことができないブラウザのためにフラッシュにフォールバックすることができますが、それはあなたが2人のアップローダを必要とするのですごく素早くなるようになります。

私はそれをサポートするブラウザでそれを行うことを推奨し、そうでない人にはサーバー側の解決策に頼っています。まだ問題がある場合は、すぐにアップロードするのではなく、キュー内でリソースを処理してリソースを広げることができます。

キャンバスは現代のブラウザでこれを行うのに最適な方法ですが、プラグインは必要ありません。アップロードのために画像データを取得する方法をここで見てください。ここで

https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas

libです:真/しようとしたサーバー側のソリューションにこだわっhttp://www.nihilogic.dk/labs/canvas2image/

1

、あなたのサイズ変更を行うにはImageMagickを使ってみて、代わりにPHPの画像処理に建てられたの。

私たちの経験ははるかに優れています。

関連する問題