/ / Android - ड्रा बिटमैप - एंड्रॉयड, कैनवास, बिटमैप

एंड्रॉइड - बिटमैप ड्रा - एंड्रॉइड, कैनवास, बिटमैप

मेरे परीक्षण Android ऐप में एक ही गतिविधि है,LoadImage, दो विधियों के साथ: OpenCV के साथ छवियों को संसाधित करने वाली एक ऑनक्रिएट विधि और एक प्रदर्शन विधि जो स्क्रीन पर 5 सेकंड के लिए छवि प्रदर्शित करती है। यहाँ मेरे पास प्रदर्शन विधि के लिए अब तक क्या है:

[convert OpenCV matrix to a bitmap using an OpenCV method]

Canvas canvas = new Canvas(bitmap);
canvas.drawBitmap(bitmap, 0, 0, null);

try {
synchronized (this) {
wait(5000);
}
} catch (InterruptedException e) {
}

और यहाँ एकल गतिविधि के लिए XML फ़ाइल है (यह एक रिक्त स्क्रीन है):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</RelativeLayout>

यदि मैं इस कोड को चलाऊं, तो मुझे लगता है ... एक रिक्त स्क्रीन। मैं दिखाने के लिए बिटमैप कैसे प्राप्त करूं?

बहुत बहुत धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

इसे इस्तेमाल करे:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="2dp"/>
</RelativeLayout>

और अपने जावा कोड में ऐसा करें:

onCreate()
{
ImageView imageView = (ImageView) findViewById(R.id.imageView1);
}

आप कैनवास पर बिटमैप भेज रहे हैं?

तो इसे अपनी विधि में वहाँ करें जहाँ आप बिटमैप में आरेखण कर रहे हैं।

imageView.setImageBitmap(bitmap);

आप कैनवास को सीधे ImageView1 पर सेट नहीं कर सकते।

क्योंकि जैसा कि आप वास्तविक जीवन में जानते हैं, कैनवास सिर्फ एक ब्रश है। उसी तरह यहां भी कैनवास केवल एक ब्रश है। इसलिए इसके बारे में चिंता न करें। आपकी संपादित छवि अब में संग्रहीत है bitmap केवल। तो उस कारण आप सीधे कैनवास द्वारा editng के बाद बिटमैप सेट कर सकते हैं.


जवाब के लिए 0 № 2

मैंने इसे अपने acitity_main.xml में जोड़ा (यह LinearLayout था):

<ImageView
android:id="@+id/imageView1"
android:layout_width="200px"
android:layout_height="200px"
android:layout_marginLeft="2dp"/>

और उसी Xml के लिए गतिविधि के लिए OnCreate विधि का यह कोड

Bitmap bitmap = BitmapFactory.decodeFile(fileAndPath);
mImageView = (ImageView) findViewById(R.id.imageView1);
mImageView.setImageBitmap(bitmap);

बिटमैप छवि स्क्रीन पर दिखाई देती है और बनी रहती है। उपरोक्त पोस्टर के लिए धन्यवाद