मैं उपयोगकर्ता को छवि को छूने की अनुमति देने की कोशिश कर रहा हूं और फिर मूल रूप से एक परिपत्र आवर्धक दिखाएगा जो उपयोगकर्ता को छवि पर एक निश्चित क्षेत्र का बेहतर चयन करने की अनुमति देगा। जब उपयोगकर्ता स्पर्श को जारी करता है तो बड़ा हिस्सा गायब हो जाएगा। इसका उपयोग कई फोटो संपादन ऐप्स पर किया जाता है और मैं इसके अपने संस्करण को लागू करने की कोशिश कर रहा हूं। मेरे पास नीचे दिया गया कोड छविदृश्य के गोलाकार भाग को बड़ा करता है लेकिन मेरी अंगुली को छोड़ने के बाद ज़ूम को हटा या साफ़ नहीं करता है। मैं वर्तमान में canvas = new Canvas(bitMap);
का उपयोग कर कैनवास में बिटमैप सेट करता हूं और फिर takenPhoto.setImageBitmap(bitMap);
का उपयोग करके छविदृश्य सेट करता हूं, मुझे यकीन नहीं है कि मैं इसके बारे में सही तरीके से जा रहा हूं या नहीं। onTouch कोड के नीचे है:एंड्रॉइड - सर्कुलर ज़ूम/छवि का हिस्सा कैसे बढ़ाएं?
zoomPos = new PointF(0,0);
takenPhoto.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
zoomPos.x = event.getX();
zoomPos.y = event.getY();
matrix.reset();
matrix.postScale(2f, 2f, zoomPos.x, zoomPos.y);
shader.setLocalMatrix(matrix);
canvas.drawCircle(zoomPos.x, zoomPos.y, 20, shaderPaint);
takenPhoto.invalidate();
break;
case MotionEvent.ACTION_MOVE:
zoomPos.x = event.getX();
zoomPos.y = event.getY();
matrix.reset();
matrix.postScale(2f, 2f, zoomPos.x, zoomPos.y);
canvas.drawCircle(zoomPos.x, zoomPos.y, 20, shaderPaint);
takenPhoto.invalidate();
break;
case MotionEvent.ACTION_UP:
//clear zoom here?
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
});
मैं अगर मैं यह सही समझ में पता नहीं है के लिए बजाय अपने लेआउट फ़ाइल में निम्न कोड का उपयोग, लेकिन आप कह रहे हैं कि कैसे एक ज़ूम प्रभाव स्पष्ट करने के लिए एक छवि पर? एक अलग बिटमैप में मूल छवि को क्यों न सहेजें। जब उपयोगकर्ता ज़ूम का उपयोग करता है और यह आवर्धक ग्लास प्रभाव से छुटकारा पाने का समय है, तो मूल बिटमैप का उपयोग करें और इसे कैनवास पर फिर से खींचें और इस प्रकार ज़ूम के साथ छवि को मिटा दें। –
नहीं, मुझे छविदृश्य पर आवर्धक सर्कल नहीं मिल रहा है। क्या आप कुछ और कक्षा साझा करेंगे, जहां कोड काम कर रहा है? –
मुझे गैलरी के केंद्र में एक पारदर्शी ओवरले फ्रेम में छवि को ज़ूम करने की आवश्यकता भी है, जिसकी छवि कभी भी ज़ूम हो जाती है, कृपया – Ravi