我在ImageView中放置了一个图像并实现了多点触控,以调整图像并在ImageView中移动图像。现在我需要将已调整大小的图像保存到图像文件中。我尝试过.getDrawingCache(),但该图像的大小与ImageView相同。我希望图像显示ImageView显示的内容,但具有完整分辨率(大于ImageView)。
有什么想法吗?
答案 0 :(得分:4)
您可以在后台保存一个位图对象,您可以使用这段代码调整大小:
Matrix matrix = new Matrix();
matrix.postScale(scaledWidth, scaledHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0,
originalBitmap.width(), originalBitmap.height(), matrix, true);
稍后使用此代码保存:
OutputStream fOut = null;
File file = new File(strDirectoy,imgname);
fOut = new FileOutputStream(file);
resizedBitmap.compress(Bitmap.CompressFormat.PNG, 0, fOut);
fOut.flush();
fOut.close();
答案 1 :(得分:1)
我的解决方案是使用我用于ImageView的矩阵来获得翻译,我也有该图像的比例。使用这两个我裁剪原始图像。
Bitmap resizedBitmap = Bitmap.createBitmap(
BitmapFrontCover, (int) UpperLeftCornerX,
(int) UpperLeftCornerY, (int) CropWidth,
(int) CropHeight);