我希望从下面这张图片中裁剪出红色部分,是否有在安卓中可以简单实现的方法来裁剪这张图片。
我找到了许多相关的问题,但是它们都建议使用以下代码:
Bitmap croppedBitmap = Bitmap.createBitmap(bitmapOriginal, 100, 100,100, 100);
如果宽度和高度大约为2MP分辨率,则此代码可以正常工作,但是如果裁剪部分的分辨率超过3MP,则应用程序会崩溃并显示OOM错误。
是否有办法在裁剪时处理分辨率超过3MP的图像?
我希望从下面这张图片中裁剪出红色部分,是否有在安卓中可以简单实现的方法来裁剪这张图片。
我找到了许多相关的问题,但是它们都建议使用以下代码:
Bitmap croppedBitmap = Bitmap.createBitmap(bitmapOriginal, 100, 100,100, 100);
如果宽度和高度大约为2MP分辨率,则此代码可以正常工作,但是如果裁剪部分的分辨率超过3MP,则应用程序会崩溃并显示OOM错误。
是否有办法在裁剪时处理分辨率超过3MP的图像?
Matrix matrix = new Matrix();
matrix.postScale(0.5f, 0.5f);
Bitmap croppedBitmap = Bitmap.createBitmap(bitmapOriginal, 100, 100,100, 100, matrix, true);
1- 将您的ImageView更改为位图
final Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.img);
2-使用位图来裁剪你想要的内容
Bitmap croppedBmp = Bitmap.createBitmap(bitmap, x, y , width , height);
3-从顶部和左侧注意x,y的位置
4-预览你的位图,再次在你的imageview中显示
imageView.setImageBitmap(croppedBmp);