私は現在、HTML5 を多用するモバイル Web アプリケーションに取り組んでいます<canvas>
。キャンバスにたくさんの円や文字を描いています。
現在 HD / Retina ディスプレイで描画しているかどうかを検出するために、次のことを行っています。
// Retina Display ?
if (window.devicePixelRatio == 2) {
canvas.style.width = canvas.width + "px";
canvas.style.height = canvas.height + "px";
canvas.width = canvas.width * 2;
canvas.height = canvas.height * 2;
context.scale(2, 2);
}
Retina ディスプレイを使用している場合、これは 2 倍の大きさで描画され、縮小後には非常にシャープな円とテキストが得られます。
しかし、たとえば iPad2 では、テキストが少しピクセルっぽくぼやけて見えたり、角があまりシャープではなかったりします。しかし、ネイティブの iOS アプリと比較すると、アプリ、テキスト、コーナーが非常にきれいに見えるため、ディスプレイが実際にこれほどシャープに描画できることがわかります。物事をより鮮明に見せるためのキャンバス描画のトリックがあるのか 、それともキャンバスが非HDディスプレイ上のネイティブiOSアプリケーションほど鮮明に見えないという論理的な説明があるのだろうか...
ありがとう!