【发布时间】:2012-06-07 17:10:08
【问题描述】:
我使用 ImageView 来裁剪位图。 裁剪后,我想获得裁剪后的图像,但得到的图像与原始图像相同。 有没有办法只获取图像的可见部分?
ImageView iv = new ImageView(this);
iv.setImageBitmap(OriginalBitmap);
iv.setScaleType(ScaleType.CENTER_CROP);
Bitmap CroppedBitmap = ((BitmapDrawable) iv.getDrawable()).getBitmap();
CroppedBitmap 的值与 OriginalBitmap 相同。我怎样才能得到裁剪的?
【问题讨论】:
-
位图 CroppedBitmap= Bitmap.createBitmap(originalbitmap,bitmap.getWidth()/2 - bitmap.getHeight()/2, 0, bitmap.getWidth()/2 + bitmap.getHeight()/2 , bitmap.getHeight() );
-
我能得到什么?我的 OriginalBitmap 减少了一半?
-
您的确切需求是什么,您必须在哪个维度进行裁剪
-
好的,我告诉用户选择一张自己的照片。然后在 100x100 ImageView 中绘制该文件。这就是我编写 ScaleType.CENTER_CROP 或其他修饰符的方式。有了这个,我应该让图片放大或缩小并居中。然后我想得到那部分图片。