Android - 将ImageView保存到具有全分辨率图像的文件

时间:2011-12-27 10:44:38

标签: android save imageview

我在ImageView中放置了一个图像并实现了多点触控,以调整图像并在ImageView中移动图像。现在我需要将已调整大小的图像保存到图像文件中。我尝试过.getDrawingCache(),但该图像的大小与ImageView相同。我希望图像显示ImageView显示的内容,但具有完整分辨率(大于ImageView)。

有什么想法吗?

2 个答案:

答案 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);