मेरे ऐप में UIWebView है जो स्थानीय सामग्री को प्रस्तुत करता है। अगर मैं रेटिना आकार की छवि लेता हूं और इसे शरीर के लिए पृष्ठभूमि के रूप में उपयोग करता हूं, तो मैं इसे सीएसएस -webkit-background-size
संपत्ति का उपयोग करके ठीक से स्केल कर सकता हूं। यह मुझे आईफोन 4 पर एक कुरकुरा, स्पष्ट छवि देता है।UIWebView w/HTML5 कैनवास और रेटिना डिस्प्ले
एचटीएमएल 5 कैनवास टैग इतना सहकारी नहीं है। जब मैं drawImage
कमांड को एक ही रेटिना आकार छवि को HTML5 कैनवास में रखने के लिए उपयोग करता हूं, तो यह विशाल स्क्रीन - भौतिक स्क्रीन की सीमाओं से पहले है। इस कोड को मैं उपयोग कर रहा हूँ है:
ctx.drawImage(retinaImage, 0, 0)
अगर मैं drawImage
पर ऊंचाई और चौड़ाई मापदंडों रखने की कोशिश, चित्र नीचे पैमाने स्क्रीन फिट करने के लिए, लेकिन यह ब्लॉक वाले और pixelated है। सीएसएस पृष्ठभूमि की तरह कुरकुरा नहीं है।
क्या कोई चाल है जो मैं HTML5 कैनवास के लिए उपयोग कर सकता हूं जो सीएसएस -webkit-background-size
संपत्ति के बराबर है?
धन्यवाद!
अद्यतन:
यहाँ अंतिम कोड मैं इस समस्या को हल करने के लिए इस्तेमाल है।
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);
}
धन्यवाद रॉब। मूल रूप से प्रश्न पूछने के कुछ दिनों बाद आपका उत्तर अनिवार्य रूप से मेल खाता था। बहुत बढ़िया। – Axeva
क्या आप किसी प्रकार की लाइब्रेरी का उपयोग कर रहे हैं? ('ctx.attr()') –
क्रिस की टिप्पणी प्रति स्पष्ट करने के लिए कोड अपडेट किया गया। –