0

私のテスト用Androidアプリには、OpenCVで画像を処理するonCreateメソッドと5秒間画面に画像を表示するDisplayメソッドの2つのメソッドを持つ単一のアクティビティLoadImageがあります。これが、Displayメソッドについてこれまでに持っているものです。

[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>

コードをそのまま実行すると、空白の画面が表示されます。ビットマップを表示するにはどうすればよいですか?

本当にありがとう。

4

2 に答える 2

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>

そして、Javaコードでこれを行います。

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

ビットマップをキャンバスに送信していますよね?

したがって、ビットマップに描画するメソッドでこれを実行します。

imageView.setImageBitmap(bitmap);

キャンバスをimageView1に直接設定することはできません。

実生活でご存知のように、キャンバスは単なるブラシだからです。ここでも同じように、キャンバスは単なるブラシです。心配しないでください。編集した画像は、にbitmapのみ保存されます。そのため、canvasで編集した後にビットマップを直接設定できます

于 2012-09-10T03:07:16.400 に答える
0

これを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);

ビットマップ画像が表示され、画面に残ります。上記のポスターのおかげで

于 2013-06-18T08:48:28.577 に答える