web-dev-qa-db-ja.com

フラッシュアップロード画像サイズ変更クライアント側

フラッシュを使用してクライアント側の画像のサイズを変更する方法について誰かがアイデアを得ましたか?.

例:クライアントは1200x800の画像を選択し、アップロードする前にフラッシュが画像の半分か何かに変換します。

何かご意見は?

20
Hugo Gameiro

Pluploadはオープンソースであり、優れたドキュメントがあり、GearsやHTML5を含む複数のプラットフォームをサポートしています。

http://www.plupload.com/index.php
http://www.plupload.com/example_all_runtimes.php

ああ、はい、アップロード前の画像のサイズ変更をサポートしています。 aurigmaに最も近いオプションですが、無料です:)

16
develCuy

私が書いたスクリプトを見てください: クライアント側での画像のサイズ変更

10
Ady Levy

http://www.shift8creative.com/projects/agile-uploader/index.html

私はこの小さなプロジェクトを終えたところです-自由に使用できます。エンドユーザーがサイズを選択することは実際にはできませんが、最大幅と最大高さの制約を渡すことはできます。たぶん、あなたは異なるオプションで複数のページ/埋め込みを作ることができます。

4
Tom

http://www.resize-before-upload.com のフラッシュアップローダーを使用しています。問題なく動作します:)

1
Paul

Silverlight、ActiveX、およびJavaは、これを完全にクライアント側で実行できます。Flashを使用する必要がある場合は、まだ普及していないFlash10を使用する必要があります。以下の例を次に示します。 画像をFlashにアップロードしてから、クライアントでサイズを変更する FlashCafeから。

Flash 8または9の他のオプションには、サーバー側のサイズ変更スクリプトが含まれ、ほとんどのシナリオで目的を達成できません。

1
DavGarcia

変換行列を作成し、それを使用して元のビットマップを新しいビットマップに描画する必要があります。これが私がタイプしているだけでテストしていないもののアイデアです:

function resize(obm:BitmapData, scale:Number): BitmapData {
   var resizeMatrix:Matrix = new Matrix();
   resizeMatrix.scale(scale, scale);

   var rbm:BitmapData = new BitmapData(obm.width * scale, obm.height * scale);
   rbm.draw(obm, resizeMatrix);

   return rbm;
}

ただし、結果の品質については主張しません。私は過去にこれを試し、結果が気に入らず、パントしたことを覚えていると思います...

1
Scott Evernden

SwfUploadの最新バージョンは、クライアント側の画像のサイズ変更を行います(Flashを使用)。アップロードの進行状況を表示するなどの追加機能は少し面倒になる可能性がありますが、非常に便利なツールです。

http://code.google.com/p/swfupload/

0
Simon East