私は、IE のみの DXImageTransform アドオンに依存する JavaScript 画像サイズ変更機能に取り組んでいます。
最新のブラウザーにも対応したいと考えて、canvas を試してみましたが、かなり良い結果が得られました。
ただし、サイズ変更機能で次のような問題に直面しています。
関数 Resize(oObj, flMultiplier) { var canvas = document.getElementById('canvas'); var canvasContext = canvas.getContext('2d'); oObj.style.visibility = 'hidden'; canvasContext.clearRect(0,0,canvas.width,canvas.height); // キャンバスをクリア canvasContext.fillStyle = 'rgba(0,0,0,0.4)'; canvasContext.scale(flMultiplier,flMultiplier); canvasContext.drawImage(oObj, 0, 0); }
画像がキャンバス アイテムよりも大きくなると、画像の一部しか表示されなくなります。これは問題です。
実行時にキャンバスのサイズを微調整しようとしましたが、サイズ変更された画像の表示に影響する場合。
だから私は大きなキャンバス要素を宣言することになりました.これはかなり問題ありません.
したがって、私の問題を解決するには2つの方法があると思います。
- 大きなキャンバス要素をオーバーフロー スキームから除外してみてください
- サイズ変更時にキャンバス要素のサイズを更新してみてください(何か見落としている可能性があります)