मेरे पास दो छवि दृश्य हैं। ImageView1 एक पृष्ठभूमि छवि है और ImageView2 एक छोटी छवि है। ImageView2 की स्थिति कहीं भी एप्लिकेशन के बीच में है।एंड्रॉइड: सही स्थिति के साथ दो ओवरले छविदृश्यों को एक बीएमपी में मिलाएं
मैं उन दो छवि दृश्य को बिटमैप में जोड़ना चाहता हूं ताकि ImageView2 ImageView1 के शीर्ष पर हो।
गठबंधन प्रक्रिया ठीक काम करती है लेकिन ImageView2 हमेशा बीएमपी फ़ाइल के ऊपरी बाएं कोने पर होती है।
ImageView iv = (ImageView)findViewById(R.id.imageView1);
ImageView iv2 = (ImageView)findViewById(R.id.imageView2);
File rootPath = new File(Environment.getExternalStorageDirectory(), "testmerge");
if (!rootPath.exists()) {
rootPath.mkdirs();
}
Toast.makeText(this, rootPath.getPath(), Toast.LENGTH_LONG).show();
File dataFile = new File(rootPath, "picture.png");
iv.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
iv.layout(0, 0, iv.getMeasuredWidth(), iv.getMeasuredHeight());
iv.setDrawingCacheEnabled(true);
Bitmap b1 = Bitmap.createBitmap(iv.getDrawingCache());
iv.setDrawingCacheEnabled(false);
iv2.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
iv2.layout(0, 0, iv2.getMeasuredWidth(), iv2.getMeasuredHeight());
iv2.setDrawingCacheEnabled(true);
Bitmap b2 = Bitmap.createBitmap(iv2.getDrawingCache());
iv2.setDrawingCacheEnabled(false);
Bitmap bmOverlay = Bitmap.createBitmap(b1.getWidth(), b1.getHeight(), b1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
canvas.drawBitmap(b1, 0, 0, null);
canvas.drawBitmap(b2, 0, 0, null);
try {
FileOutputStream out = new FileOutputStream(dataFile, false);
bmOverlay.compress(CompressFormat.PNG, 95, out);
} catch (IOException e) {
e.printStackTrace();
}
क्या आप मुझे बता सकते हैं कि कैसे मैं अंतिम बिटमैप फ़ाइल की स्थिति को समायोजित कर सकते हैं ताकि ImageViews यह रूप में एक ही स्थिति में होगा:
नीचे मेरी कोड है कि मैं bmp उत्पन्न करने के लिए प्रयोग किया जाता है ऐप पर प्रदर्शित करें?
धन्यवाद।
@ किंटारो क्या आप इस जवाब में मेरी सहायता कर सकते हैं कि आपने यह कार्य कैसे प्राप्त किया? – Erum