是否有可能从getDrawingCache获得更高的分辨率?

时间:2014-08-11 09:27:51

标签: java android mobile android-imageview android-view

我正在使用Dave Morrissey(https://github.com/davemorrissey/subsampling-scale-image-view)的SubsamplingScaleImageView来允许用户使用手势裁剪和平移照片。

我修改了库,为照片添加了色调和徽标。现在我需要将照片上传到服务器。为了做到这一点,我需要以某种方式从SubsamplingScaleImageView中提取照片。

我将以下方法添加到SubsamplingScaleImageView类:

/**
 * Capture a photo of the image view
 */
public Bitmap getOutput() {
    buildDrawingCache();
    Bitmap b1 = getDrawingCache();
    Bitmap b = b1.copy(Config.ARGB_8888, true);
    destroyDrawingCache();
    return b;
}

我正在使用此方法获取文件,将其调整为特定分辨率(800x800),并将其保存到我应用的文件夹中。

我注意到的问题是从绘图缓存中提取的照片取决于设备的分辨率。例如,在我的全高清设备上,我得到1080x1080照片,这已经足够了,但在一些较低分辨率的设备上,我得到480x480这样的分辨率,这是不够的,因为图像需要比那个更大,所以当我的照片变得模糊将其大小调整为800x800。

有没有办法在所有设备上从该图像视图中获取相同分辨率的照片?

0 个答案:

没有答案