我按照此http://www.androidhub4you.com/2012/07/how-to-crop-image-from-camera-and.html裁剪图片。
我在拼贴画框中有4-5个ImageView。在所有Imageview中我设置了一个默认图像。点击特定的图像视图,我从图库中选择图像然后裁剪图像。现在我必须在我的ImageView中设置裁剪的图像。因此,在设置裁剪后的Image后,我的ImageView会重新调整大小,因此其他ImageView的大小也会有所不同。我希望在Imageview中设置裁剪图像时,我的ImageView不能重新调整大小。
结果裁剪图像的大小可能不同,因此我在裁剪之前拍摄了ImageView尺寸,裁剪后我将结果位图缩放为与我的图像视图相同的尺寸。
打击编码样本。
我正在获得像我这样的Imageview的高度和宽度
viewhight = tempView.getMeasuredHeight();
viewWidth = tempView.getMeasuredWidth();
裁剪图像后,我根据我的视图的高度和宽度缩放图像
Bitmap photobitmap1 = Bitmap.createScaledBitmap(photobitmap, viewWidth,viewhight, true);
在此之后我把它改成了这样的drawable并将它设置在我的Imageview上。
Drawable drawble = new BitmapDrawable(getResources(),photobitmap1);
tempView.setBackground(drawble);
但是在设置我的视图的高度和宽度时会调整大小,因为这个附近的图像视图也会调整大小,为什么我不知道。因为我将我的imageview转换为相同的视图大小。
我也试过这个来缩放位图:
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>
任何人都可以帮助我.....
答案 0 :(得分:1)
您是否在XML中为imageview设置了固定的高度和宽度?
示例:
<ImageView
android:layoutWidth="60dp"
android:layoutHeight="60dp" />