キャンバス描画の解像度が拡大され、ぼやけた状態になる
まず、キャンバスの幅と高さを理解しましょう
canvas.width はキャンバスの大きさ、canvas.style.width はブラウザでレンダリングされたキャンバスの大きさです。
最初の問題:キャンバスの高さと幅
キャンバスの幅と高さは、canvasタグで設定する必要があります。cssスタイルで設定した場合、キャンバスはデフォルトサイズの幅:300px、高さ:150pxで表示され、うまくいきません。
Paste this at the beginning of the code
canvas タグで直接設定する以外に、描画中に設定することもできます。
# -*- coding:utf-8 -*-
第二の問題:描画された図形が拡大表示され、画像がぼやける
これは、デバイスに依存しないピクセルと携帯電話の物理的なピクセルとの間に矛盾があるためです。デバイスピクセル比=物理ピクセル/デバイス独立ピクセルであり、ほとんどの携帯電話のデバイスピクセル比は2であるため、100pxの画像を200pxに配置しなければ正しく表示されないことになります
devicePixelRatio を使用すると、デバイスのピクセル比率を取得することができ、それを取得すると、グラフィックスのスケーリングを制御することができます。
scale = window.devicePixelRatio;
先ほど述べたように、canvas.style.width はブラウザが描画するキャンバスのサイズなので、キャンバスに絵を正しく鮮明に表示するには、以下のように style.width と style.height を正しく設定し、単位の追加に注意する必要があるのです。
canvas.style.width = canvas.width / scale + 'px';
canvas.style.height= canvas.height/ scale + 'px';
上記では、canvas の幅を 324 に設定していますが、style.width を設定しない場合、描画は 2 倍に拡大されて表示されます。
キャンバスの描画が拡大され、ぼやける問題の解決方法についての説明は以上です。canvasの描画が拡大されたり、ぼやけたりする問題については、Script Houseの過去の記事を検索していただくか、以下の関連記事を引き続きご覧ください。
関連
-
BGMを追加するいくつかの方法をHTML5で簡易実装
-
Html5ネイティブのドラッグ&ドロップ関連イベント紹介と基本的な実装方法
-
HTML5レイヤーオーバーレイの実装
-
HTML5でオプションのスタイルシートを使ってWebサイトやアプリケーションにダークモードを追加する方法を解説
-
Html5によるマンドモバイル活用の甌穴(おうけつ)踏査
-
Html5 webview要素位置決めツールの実装
-
html5モバイルキーボードのポップアップを片付ける対応
-
Html5カスタムフォントソリューション
-
window.openがブラウザにブロックされている場合の解決策を詳しく説明します。
-
HTML5で実現する写真・カメラ機能
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
画像のウォーターフォールレイアウトを実現するHTML+CSS+JSのサンプルコード
-
AmazeUIがモーダルボックスにフォームを埋め込んでモーダルインプットボックスを形成する
-
Html5は、コンテナは、画面の高さや残りの高さの適応的なレイアウトの実装を埋めることができます
-
iPhoneXの画面適応 WeChatアプリとH5でセーフエリア下部の小さな黒いバー
-
textareaで改行や空白を処理する
-
人気のあるいくつかのHTML5 UIフレームワークの比較(要約)
-
HTML5レイアウトとHTML5タグの説明
-
キャンバスポリゴン描画方式
-
localStorageの有効期限を設定する詳細な方法
-
キャンバスの幅と高さの設定に関する問題点