将图像缩放到线性布局的大小

时间:2014-10-12 05:30:09

标签: android-layout opencv bitmap scale

我有一个mat对象,它有openCV库用于图像处理的图像信息。 mat对象基本上是一个矩阵。我需要将此对象缩放到线性布局的大小,我需要在将其转换为位图后显示。

步骤简述如下: - 1.获取线性布局的高度和宽度。 2.将垫子对象缩放到宽度和高度。 3.将对象转换为位图 4.将位图显示在线性布局

我在onStart方法中完成所有这些操作,其中布局的高度为0.我在第一步失败了。

我如何获得宽度和高度。 我也可以在onstart()方法中获得线性布局的坐标。

请帮助

疯狂的想法是首先显示虚拟图像,获取布局宽度和高度,然后显示实际图像......我是初学者......

1 个答案:

答案 0 :(得分:0)

而是采用另一种方式,如下所示 -

i> Mat图片转换为BitMap。这是执行此操作的代码 -

Mat mat;
// Intialize mat
Bitmap bitMap = Bitmap.createBitmap(mat.cols(), mat.rows(),Bitmap.Config.ARGB_8888);
Utils.matToBitmap(mat, bitMap);

ii> 在布局文件中,使用ImageView中的LineatLayout并将layout_widthfill_height设置为match_parent }。这将使用整个线性布局。这是执行此操作的代码 -

<ImageView 
    android:id="@+id/image_view"
    android:contentDescription="@string/description"
    android:layout_width= "match_parent"
    android:layout_height="match_parent" />

不要忘记在description中添加strings.xml

iii&gt; Bitmap图片放入LinearLayout,如下所示 -

ImageView imageView = (ImageView) findViewById(R.id.image_view);
        imageView.setImageBitmap(bitMap);

使用此代码,您可以在Mat中显示LinearLayout图片。