मुझे पता है कि वास्तव में चुटकी ज़ूम लागू करने पर बहुत सारे थ्रेड हैं - लेकिन मुझे यह पहले से ही मिल गया है।एंड्रॉइड में ज़ूमिंग - छवि को देखें
मैं पिंचिंग को संभालने के लिए SimpleScaleGestureListener का उपयोग कर रहा हूं। मैंने यह सुनिश्चित करने में कामयाब रहा है कि आप छवि की ऊंचाई को स्क्रीन आकार के समान रखने के बजाय आगे ज़ूम आउट नहीं कर सकते हैं (इसलिए आप छवि ऊंचाई हमेशा कम से कम उपलब्ध स्क्रीन आकार की ऊंचाई होगी)।
हालांकि, मैं इन सीमाओं के बाहर छवि को पॅन किया जा रहा है या नहीं, मैं स्वचालित रूप से यह पता लगाने का एक तरीका ढूंढ रहा हूं। छवि को प्रदर्शित करने के मानक एंड्रॉइड तरीके की तरह। इसलिए यदि मैं ज़ूम इन करता हूं, और छवि को पैन करता हूं, और फिर ज़ूम आउट करता हूं, तो मैं यह जानना चाहता हूं कि छवि के नीचे स्क्रीन के नीचे पहुंचने पर, और फिर ज़ूमिंग के 'पिवट' तदनुसार समायोजित करता है, इस प्रकार कभी " व्हाइटस्पेस "छवि के ऊपर या नीचे ही। क्या कोई मेरी मदद कर सकता है?
public boolean onScale(ScaleGestureDetector detector){
float minScale = (float) ((float) SCREEN_SIZE.y/(float) DRAWABLE_SIZE.y);
mScaleFactor *= detector.getScaleFactor();
mScaleFactor = Math.max(minScale, Math.min(mScaleFactor, 5.0f));
invalidate();
return true;
}
protected void onDraw(Canvas canvas) {
canvas.save();
canvas.drawColor(Color.DKGRAY);
canvas.translate(mPosX, mPosY);
canvas.scale(mScaleFactor, mScaleFactor, getDrawable().getIntrinsicWidth()/2,
getDrawable().getIntrinsicHeight()/2);
this.getDrawable().draw(canvas);
canvas.restore();
}
धन्यवाद! मैं मैट्रिक्स में देख लूंगा। मैं सराहना करता हूं कि आप कोड साझा नहीं करना चाहते हैं, लेकिन क्या आपके पास मैट्रिक्स पर अच्छे संसाधनों का लिंक हो सकता है और मेरी विशिष्ट समस्या को कैसे दूर किया जाए? शायद एक अच्छा ट्यूटोरियल? मैं निश्चित रूप से खुद को Google कर दूंगा, लेकिन अगर आपके पास कोई 'टॉप-पायच' सुझाव था, तो मुझे बहुत बाध्य होना होगा :) – Dynde
विशेष लिंक के बारे में पता नहीं है। हालांकि, 2 डी रूपांतरण, मैट्रिक्स गणित आदि को देखने का प्रयास करें। यह बहुत मुश्किल नहीं है, और ग्राफिक्स में मैट्रिक्स बहुत शक्तिशाली है। एंड्रॉइड के कैनवास पर यह सिर्फ 2 डी मैट्रिक्स है। –
@ माइस हाय, क्या आप मुझे मैट्रिक्स के साथ इस विशेष समस्या का कोड भेज सकते हैं। मैं कैनवास में ज़ूमिंग और पैनिंग का उपयोग करना चाहता हूं।लेकिन मैं पैनिंग करने में सक्षम नहीं हूं .. मैंने Google किया लेकिन मैट्रिक्स का उपयोग करके मुझे कुछ भी नहीं मिला। अग्रिम में धन्यवाद। – anddev