我正在使用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。
有没有办法在所有设备上从该图像视图中获取相同分辨率的照片?