2016-11-16 7 views

答えて

0

は、どのように私はあなたがすることはできません

スケーリングに高さと幅を設定することができます。それぞれscaling.sizes entrymaxSizeを指定し、ファインアップローダは画像に比例して拡大/縮小します。

私は画像に依存することができますが、(品質

を生成し、あなただけのブラウザに依存している場合は品質が制限されます。entire section in the documentation that explains how you can generate higher-quality resizes by integrating a third-party resize libraryがあります。あなたがまたは実行したくない場合があり、なぜ私も話し合いますこのドキュメントから:。

ファインアップローダの内部画像は、ブラウザのネイティブCanvasRenderingContext2Dオブジェクト上のdrawImage メソッドにコードを委譲のサイズを変更するこの オブジェクトはELEを操作するために使用されます。これは、 送信された画像FileまたはBlobを表します。ほとんどのブラウザでは、画像のサイズを変更するときに線形補間 を使用します。これは、 のアート/フォトギャラリー、アルバムなどの画像をリサイズする誰のための取引遮断器である極端なエイリアシングとモアレを引き起こす可能性があります。これらの種類のアーチファクトは、事後には取り除くことが不可能です です。

速度が最も重要で、正確なスケーリングされた画像の生成が重要でない場合は、引き続きファインアップローダの内部スケーリング の実装を使用する必要があります。ただし、高品質の画像をアップロードするために の画像を生成する場合は、代わりにサードパーティのライブラリを使用して、 送信した画像ファイルのサイズを変更する必要があります(picaやlimby-resizeなど)。ファインアップローダの バージョン5.10では、 プラグインをこのライブラリに統合するのは非常に簡単です。実際には、Fine Uploaderは の画像ファイルを適切な向きにしてから、 を適切な画像スケーリングライブラリに渡して、 元のフルサイズの画像ファイル を描画しますaを参照してください。唯一の注意点は、 のiOSで大きな画像を拡大する際に問題が発生するため、 ロジックを含まない他のサードパーティのスケーリングライブラリと同じように、特定のOSのFine Uploaderの内部スケーリングアルゴリズムを使用する必要があります。この複雑なケースを処理します。幸運にも、これはまた、 についても簡単に説明することができます。

あなたは、例えば、単にプロジェクトにパイカを引き、そしてそのように、 scaling.customResizer機能を貢献し、より高品質な スケール画像を生成するためにパイカを使用したい場合:

scaling: { 
    customResizer: !qq.ios() && function(resizeInfo) { 
     return new Promise(function(resolve, reject) { 
      pica.resizeCanvas(resizeInfo.sourceCanvas, resizeInfo.targetCanvas, {}, resolve) 
     }) 
    }, 
    ... 
} 
+0

将来、アップデートとして高さと幅がパラメータとして存在するでしょうか? –

+0

別々の最大幅と最大高さを指定する最良の方法があるかどうか疑問に思っていますか? – MrTomTom

関連する問題