Я использую Custom ImageView. В его onDraw я делаю некоторую обработку, используя холст, который похож на рисование линии, растровые изображения, основанные на прикосновении пользователя.
Для сохранения полученного снимка, когда пользователь хочет сохранить изображение, мы используем DrawingCache
imageView.setDrawingCacheEnabled(true;
Bitmap.createBitmap(imageView.getDrawingCache(), 0, 0,
imageView.getHeight(), imageView.getWidth(),
matrix, true).compress(CompressFormat.JPEG, 95,
new FileOutputStream(file));
Конечно, я могу использовать это, чтобы получить фактическое изображение, пока пользователь нажимает сохранить, но изображение не содержит какой-либо обработки, выполненной в imageView.
Bitmap bmp = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
Bitmap.createBitmap(bmp, 0, 0,
bmp.getWidth(), bmp.getHeight(),
matrix, true).compress(CompressFormat.JPEG, 95,
new FileOutputStream(file));
Проблема:
Размер сохраненного изображения - это размер изображения в полноэкранном режиме, но оно зависит от устройства. Для телефонов с меньшим размером экрана оно уменьшается до 240 X 320.
Вопрос:
а. Можно ли получить изображение приличного размера независимо от размера экрана устройства?
б. Можно ли выполнять обработку изображений непосредственно на изображении, которое используется в Custom ImageView?
Спасибо в ожидании!
Есть мысли?