मैंने एक लंबी onDraw
विधि लागू की है जो आयताकारों का एक सेट खींचती है। आयताकार बहुत छोटे होते हैं और मैं उन्हें बड़ा दिखाना चाहता हूं। लेकिन दुर्भाग्य से मैं आयताकार निर्देशांक नहीं बदल सकता क्योंकि वे डेटाबेस में संग्रहीत हैं। तो क्या canvas.scale()
का उपयोग कर कैनवास में ज़ूम कर सकते हैं?canvas.scale फ़ंक्शन का उपयोग कर कैनवास में ज़ूम करें?
उत्तर
मैं यह कहकर इस जवाब का प्रस्ताव देने जा रहा हूं कि आपको 0,0 पर सबकुछ खींचने की आवश्यकता होगी और फिर इसे स्केल करें, और आखिर में इसका सही तरीके से व्यवहार करने के लिए अनुवाद करें।
बस अपने OnDraw विधि में निम्न कार्य करें:
canvas.save();
canvas.translate(xValue, yValue);
canvas.scale(xScale, yScale)
/* draw whatever you want scaled at 0,0*/
canvas.restore();
X स्केल सिकुड़ता है या एक्स दिशा में हिस्सों, yScale सिकुड़ता है या Y दिशा में विस्तृत।
1.0 इनके लिए डिफ़ॉल्ट है, इसलिए 2.0 इसे डबल से बढ़ाएगा और 0.5 इसे आधे से कम कर देगा।
उदाहरण:
canvas.save();
canvas.translate(50, 50);
canvas.scale(0.5f, 0.5f);
canvas.drawRect(0.0, 0.0, 5.0, 5.0, paint);
canvas.restore();
यह, लंबाई 5.0, और चौड़ाई 5.0 के साथ एक आयत आकर्षित करेगा लंबाई और चौड़ाई के लिए 2.5 पर स्केल, और उसके बाद (50, 50) पर ले जाते हैं।
परिणाम एक आयत तैयार किया जाएगा, जैसे कि तुम ऐसा किया:
canvas.drawRect(50.0, 50.0, 52.5, 52.5, paint);
मुझे आशा है कि इस मदद करता है!
लेकिन विभिन्न रिज़ॉल्यूशन डिवाइसों में स्केल फ़ंक्शन व्यवहार अलग-अलग हैं। – zionpi
संकल्प द्वारा स्केल प्रभावित नहीं है, क्योंकि हम केवल पिक्सेल के बारे में बात कर रहे हैं। –
यदि कोई यहां वेब के लिए समाधान मांगने के लिए आएगा (जैसा मैंने किया था)। यहां उदाहरण कोड संशोधित किया गया है: 'context.translate (50, 50); context.scale (0.5, 0.5); context.fillRect (0.0, 0.0, 5.0, 5.0); ' –
- 1. कैनवास ज़ूम पॉइंट पर जाता है (0,0)
- 2. कस्टम दृश्य में केंद्रित ज़ूम - गणना कैनवास निर्देशांक
- 3. कैनवास पिंच-ज़ूम इन पॉइंट्स इन पॉइंट्स
- 4. जावास्क्रिप्ट कैनवास में डीप ज़ूम संग्रह
- 5. jquery का उपयोग कर div सामग्री को ज़ूम कैसे करें?
- 6. कैनवास पर ज़ूम करने के लिए पिंच
- 7. Matplotlib imshow ज़ूम फ़ंक्शन?
- 8. ImagePiews में ViewPager + ज़ूम का उपयोग कर छवियों की गैलरी
- 9. एकाधिक कैनवास संदर्भों का उपयोग कैसे करें?
- 10. प्रेषण का उपयोग ड्रॉ (कैनवास कैनवास)
- 11. कैनवास
- 12. TWIG में PHP फ़ंक्शन का उपयोग करें?
- 13. dwscript का उपयोग कर CreateOleObject फ़ंक्शन को कैसे कॉल करें?
- 14. वेबव्यू में ज़ूम नियंत्रण और चुटकी ज़ूम कैसे सक्षम करें?
- 15. रैफेल कैनवास या एसवीजी का उपयोग कर रहा है?
- 16. कैनवास और जावास्क्रिप्ट का उपयोग कर नेस्टेड एनिमेशन
- 17. ko.validation.group फ़ंक्शन का उपयोग कैसे करें
- 18. doctrine2 - DATE_ADD फ़ंक्शन का उपयोग कैसे करें
- 19. क्लोजर दस्तावेज़ फ़ंक्शन का उपयोग कैसे करें?
- 20. जावास्क्रिप्ट/onorientationchange का उपयोग कर आईफोन पर सफारी के पैमाने/चौड़ाई/ज़ूम रीसेट करें
- 21. सी ++ नग्न फ़ंक्शन का उपयोग करें
- 22. jQuery - उपयोग कैनवास divs
- 23. ज़ूम हाईचार्ट्स
- 24. एंड्रॉइड परीक्षण, उपकरणों का उपयोग कर मल्टीटाउच (ज़ूम इन/आउट) अनुकरण कैसे करें?
- 25. मैपव्यू में चिकना ज़ूम
- 26. फ़ंक्शन घोषणा में टेम्पलेट तर्क का उपयोग नहीं कर सकता
- 27. x86 असेंबली का उपयोग कर फर्थ में स्क्वायर रूट फ़ंक्शन?
- 28. मैं फ़ंक्शन में `आयात *` का उपयोग क्यों नहीं कर सकता?
- 29. ज़ूम
- 30. एसवीजी व्यू बॉक्स में ज़ूम ज़ूम (राफेल)
"लेकिन दुर्भाग्यवश मैं आयत समन्वय को बदल नहीं सकता, वे डेटाबेस में संग्रहीत हैं" क्यों? आप डीबी से निर्देशांक प्राप्त करते हैं और drawRectangle() से पहले आपको जो भी स्केल कारक चाहिए उसे गुणा करें। – Simon
क्या मैं इस तरह फ़ंक्शन में ज़ूम लागू कर सकता हूं? – Ruby
x = getValueFromDatabase(), y = getValueFromDatabase(), x = x * 5; y = y * 5; drawRectangle (एक्स, वाई)। ऐसा कुछ गलत क्या है? मेरा मुद्दा यह है कि डेटाबेस में संग्रहीत मानों को क्यों आयताकारों को बड़ा करना बंद कर देता है? मुझे यह नहीं मिला। बेशक आप आयताकार निर्देशांक बदल सकते हैं। आप उन्हें कुछ भी बना सकते हैं जो आप चाहते हैं। – Simon