「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript Canvas でサイズ変更した画像を滑らかにする方法

JavaScript Canvas でサイズ変更した画像を滑らかにする方法

2024 年 11 月 4 日に公開
ブラウズ:793

How to Smooth Resized Images with JavaScript Canvas?

JavaScript キャンバスを使用したサイズ変更された画像のスムージング

HTML キャンバスを使用した画像のサイズ変更は、Web アプリケーション内でビジュアルを操作する便利な方法を提供します。ただし、デフォルトのサイズ変更アルゴリズムでは、画像がピクセル化されたりギザギザになったりする可能性があり、画像編集ソフトウェアに見られる滑らかさが欠けています。この問題は、画像のスムージング技術を組み込むことで解決できます。

滑らかさを実現する 1 つのアプローチは、段階的にダウンスケーリングすることです。この方法では、より小さな増分を使用して段階的に画像のサイズを変更します。たとえば、元の画像のサイズを直接 50% に変更する代わりに、最初に 75%、次に 62.5% というように縮小できます。この増分アプローチにより、ピクセル補間の影響が軽減され、よりスムーズな結果が得られます。

var oc = document.createElement('canvas'),
    octx = oc.getContext('2d');

oc.width = img.width * 0.5;
oc.height = img.height * 0.5;
octx.drawImage(img, 0, 0, oc.width, oc.height);

// ...

ctx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5,
    0, 0, canvas.width, canvas.height);

もう 1 つの方法は、Chrome などの最新のブラウザーでサポートされている imageSmoothingQuality プロパティを設定することです。このプロパティは、画像のサイズ変更に使用される補間アルゴリズムを制御します。 「高」に設定すると、ブラウザはより高度なバイキュービック補間方法に切り替わり、画像の滑らかさが向上します。

canvas.getContext('2d', { imageSmoothingQuality: "high" });

段階的にダウンスケーリングを利用したり、画像のスムージング品質を調整したりすることで、開発者は JavaScript キャンバスでサイズ変更された画像の外観を強化し、視覚的に魅力的な結果を作成できます。

リリースステートメント この記事は次の場所に転載されています: 1729599615 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3