正文

使用内置Gallery应用程序选择图像(7)

Android多媒体开发高级编程 作者:(美)艾佛瑞


canvas.drawBitmap(bmp, 0, 0, paint);

ImageView alteredImageView = (ImageView) this.findViewById(R.id.

AlteredImageView);

alteredImageView.setImageBitmap(alteredBitmap);

正在使用的Canvas对象上的drawBitmap方法接受源位图对象x和y偏移以及Paint对象作为参数。这使得alteredBitmap对象将包含与初始位图完全相同的信息。

可以将所有这些代码插入到“选择图片”示例中。它应该接近onActivityResult方法的末尾处,在bmp = BitmapFactory.decodeStream行之后。小心不要重复该行,如上述代码片段所示;也不要忘了添加适当的import语句。

之后,我们想要显示alteredBitmap对象。为此,使用标准的ImageView,并以alteredBitmap作为参数调用setImageBitmap。这会假设我们有一个ImageView,并且已经在布局XML中声明其id为alteredImageView。

以下是更新后的布局XML,它用于完整的“选择图片”示例,其中包含了初始的ImageView以及用于alteredBitmap的新ImageView,如图3-4所示。

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

      android:orientation="vertical"

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      > 

      <Button 

           android:layout_width="fill_parent"

           android:layout_height="wrap_content"

           android:text="Choose Picture"

           android:id="@+id/ChoosePictureButton"/> 

      <ImageView android:layout_width="wrap_content" 

        android:layout_height="wrap_content"

        android:id="@+id/ChosenImageView"></ImageView> 

      <ImageView android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/AlteredImageView"></ImageView> 

</LinearLayout>


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号