私のアプリには、ローカル コンテンツを提供する UIWebView があります。-webkit-background-size
Retina サイズの画像をボディの背景として使用すると、CSSプロパティを使用して適切にスケーリングできます。これにより、iPhone 4 でくっきりとした鮮明な画像が得られます。
ただし、HTML5 Canvas タグはそれほど協調的ではありません。コマンドを使用しdrawImage
て同じ網膜サイズの画像を HTML5 キャンバスに配置すると、物理画面の境界をはるかに超えて巨大になります。これは私が使用しているコードです:
ctx.drawImage(retinaImage, 0, 0)
に高さと幅のパラメーターを配置しようとするとdrawImage
、画像は画面に合わせて縮小されますが、ブロック状でピクセル化されています。CSS の背景のように鮮明ではありません。
-webkit-background-size
CSSプロパティと同等の HTML5 Canvas に使用できるトリックはありますか?
ありがとう!
アップデート:
これが、この問題を解決するために使用した最終的なコードです。うまくいけば、将来誰かに役立つでしょう:
if (window.devicePixelRatio == 2) {
myCanvas.setAttribute('height', window.innerHeight * 2);
myCanvas.setAttribute('width', window.innerWidth * 2);
ctx.scale(2, 2);
} else {
myCanvas.setAttribute('height', window.innerHeight);
myCanvas.setAttribute('width', window.innerWidth);
}