我按照这个http://www.androidhub4you.com/2012/07/how-to-crop-image-from-camera-and.html来裁剪图像。
我在拼贴框架中有 4-5 个 ImageView。在所有 Imageview 中,我设置了默认图像。单击特定的 imageview,我从图库中选择图像,然后裁剪图像。现在我必须在我的 ImageView 中设置裁剪后的图像。因此,在设置裁剪后的图像后,我的 ImageView 会重新调整大小,因此其他 ImageView 的大小也不同。我希望在 Imageview 中设置裁剪后的图像时,我的 ImageView 不能重新调整大小。
结果裁剪图像的大小可能会有所不同,因此我在裁剪前取了 ImageView 大小,裁剪后我将结果位图缩放为与图像视图相同的大小。
编码示例被击中。
我正在像这样获得我的 Imageview 的高度和宽度
viewhight = tempView.getMeasuredHeight();
viewWidth = tempView.getMeasuredWidth();
裁剪图像后,我像这样根据视图的高度和宽度缩放图像
Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, viewWidth,viewhight, true);
在此之后,我将其更改为像这样的可绘制对象并将其设置在我的 Imageview 上。
Drawable drawble = new BitmapDrawable(getResources(),photobitmap1);
tempView.setBackground(drawble);
但是在设置我的视图的高度和宽度时,我的视图会被调整大小,并且由于这个近图像视图也会被调整大小,为什么我不知道。因为我将我的图像视图转换为相同大小的视图。
我也试过这个来缩放位图:
Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, (viewWidth-30), (viewhight-30), true);
这设置位图:
tempView.setImageBitmap(photobitmap1);
tempView.setBackgroundColor(Color.TRANSPARENT);
但没有任何效果。
我的xml代码是这样的:
<LinearLayout
android:id="@+id/fst"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/frame"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingLeft="85dp"
android:paddingRight="85dp"
android:paddingTop="10dp"
>
<ImageView
android:id="@+id/viw_1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="2.5dp"
android:layout_weight="1"
android:background="@drawable/rec"
/>
<ImageView
android:id="@+id/viw_2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="2.5dp"
android:background="@drawable/rec"
/>
</LinearLayout>
任何人都可以帮助我吗......