Mon application dispose d'un UIWebView qui sert du contenu local. Si je prends une image de la taille de la rétine et l'utilise comme arrière-plan pour le corps, je peux le faire évoluer correctement en utilisant la propriété CSS -webkit-background-size
. Cela me donne une image claire et nette sur l'iPhone 4.UIWebView w/HTML5 Canvas & Retina Display
La balise HTML5 Canvas n'est pas si coopérative, cependant. Lorsque j'utilise la commande drawImage
pour placer la même image de la taille de la rétine dans un canevas HTML5, c'est gigantesque - bien dépassé les limites de l'écran physique. Voici le code que je utilise:
ctx.drawImage(retinaImage, 0, 0)
Si je tente de placer la hauteur et la largeur des paramètres sur la drawImage
, l'image réduit à la taille de l'écran, mais il est polyédrique et pixélisée. Pas croustillant comme le fond CSS.
Y at-il un truc que je peux utiliser pour le HTML5 Canvas qui est équivalent à la propriété CSS -webkit-background-size
?
Merci!
Mise à jour:
Voici le code final j'ai utilisé pour résoudre ce problème. Espérons que cela aidera quelqu'un d'autre à l'avenir:
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);
}
Merci Rob. Votre réponse correspond essentiellement à ce que j'ai trouvé quelques jours après avoir posé la question à l'origine. Bien joué. – Axeva
Utilisez-vous une sorte de bibliothèque? ('ctx.attr()') –
Mise à jour du code pour le rendre plus clair par commentaire de Chris. –