2011-12-27 34 views
4

ImageView内に画像を配置し、ImageView内で画像をサイズ変更して移動するためにマルチタッチを実装しました。今度は、サイズ変更されたイメージをイメージファイルに保存する必要があります。 .getDrawingCache()を試しましたが、そのイメージにはImageViewのサイズがあります。私はImageViewが示しているものの、完全な解像度(ImageViewよりも大きい)で画像を表示したい。Android - ImageViewをフル解像度の画像でファイルに保存

アイデア?

答えて

0

私のソリューションを使用することでしたImageViewで翻訳を取得するために使用した行列とその画像の縮尺もありました。それらの2つを使って私は元の画像を切り取った。

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( "MUCH"、 "THANKS")しながら、それは男... に動作します。 – Farhan