2017-03-13 5 views
2

私はFineUploaderを初めて使い、この偉大なアップローダを画像スケーリングのためにPicaと共に使用しています。ピカはスケーリングやサムネイルに適しています。FineUploader drawThumbnail with Pica

scaling: { 
    sendOriginal: false, 
    hideScaled: false, 
    sizes: [        
     {name: "a", maxSize: 200}, 
     {name: "b", maxSize: 600}, 
     {name: "c", maxSize: 1000} 
    ], 
    customResizer: !qq.ios() && function(resizeInfo) { 
     return new Promise(function(resolve, reject) { 
      pica.debug = console.log.bind(console), 
      pica.resizeCanvas(resizeInfo.sourceCanvas, resizeInfo.targetCanvas, {}, resolve) 
     }) 
    } 
}, thumbnails: { 
    customResizer: !qq.ios() && function(resizeInfo) { 
     return new Promise(function(resolve, reject) { 
      pica.resizeCanvas(resizeInfo.sourceCanvas, resizeInfo.targetCanvas, {}, resolve) 
     }) 
    } 
} 

ただし、他の場所にサムネイルを描画する必要があります。私は、すべての周りにグーグルを試み、Fineuploaderのドキュメンテーションを通過したが、ピカをdrawThumbnailsで走らせることはまだ運がない。

Fineuploaderのマニュアル

drawThumbnail (id, targetContainer[, maxSize[, fromServer[, customResizer]]]) 

私の現在のコード

var canvas = document.createElement('canvas'); 
canvas.width = 300; 
canvas.height = 200; 
$(".frame").html(canvas); 
uploader.drawThumbnail(id, canvas, 300, false); 

誰かがdrawThumbnailはピカ、おかげで実行するために、現在のコードを変更するに私を導くことができればそれは素晴らしいことです。

答えて

1

あなたは、あなたの質問に指摘したように、ドキュメントはdrawThumbnailを使用した場合、代替サイズ変更機能を使用する方法を示しています。

drawThumbnail(id, targetContainer[, maxSize[, fromServer[, customResizer]]]) 

...そう、あなたのコードは次のようになります。

var canvas = document.createElement('canvas') 
var customResizer = function(resizeInfo) { 
    return new Promise(function(resolve, reject) { 
     pica.resizeCanvas(
     resizeInfo.sourceCanvas, 
     resizeInfo.targetCanvas, 
     {}, 
     resolve 
    ) 
    }) 
} 
canvas.width = 300; 
canvas.height = 200; 
$(".frame").html(canvas); 
uploader.drawThumbnail(id, canvas, 300, false, !qq.ios() && customResizer); 
関連する問題