2011-12-27 2 views
4

Я поместил изображение внутри ImageView и выполнил мультитач для изменения размера и перемещения изображения внутри ImageView. Теперь мне нужно сохранить измененное изображение в файл изображения. Я пробовал .getDrawingCache(), но это изображение имеет размер ImageView. Я хочу, чтобы изображение показывало, что показывает ImageView, но с полным разрешением (больше, чем ImageView).Android - сохранить изображение в файл с полным разрешением image

Любые идеи?

ответ

0

Мое решение было использовать матрицу, которую я использовал для ImageView, чтобы получить перевод, и у меня также был масштаб этого изображения. Используя эти два, я обрезал исходное изображение.

Bitmap resizedBitmap = Bitmap.createBitmap(
         BitmapFrontCover, (int) UpperLeftCornerX, 
         (int) UpperLeftCornerY, (int) CropWidth, 
         (int) CropHeight); 
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(); 
+0

+1 это работает человек ... в то время (правда) Log.i ("МНОГО", "БЛАГОДАРНОСТЬ"); – Farhan