アンドロイドでギャラリーからスクリーンショットを開くと、それは2秒間ぼかされ、その後自動的に調整されます。画像が自動調整されていません
しかし、私は画像のパスを使用してImageViewの上で設定するには、このスクリーンショットの画像を使用しています:
画像パスは、:/mnt/sdcard/ScreenCapture/SC20130219-124221.png
private void showImage(String imgPath) {
// TODO Auto-generated method stub
System.out.println("Image Path is: "+imgPath);
ImageView openImage=(ImageView)findViewById(R.id.img_fullScreen);
ExifInterface exifMedia = null;
try {
exifMedia = new ExifInterface(imgPath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String exifOrint = exifMedia.getAttribute(ExifInterface.TAG_ORIENTATION);
int exifOrientation = Integer.parseInt(exifOrint);
System.out.println("Orientation Tag is:"+exifOrientation);
BitmapFactory.Options mOptions=new BitmapFactory.Options();
mOptions.inSampleSize=2;
Bitmap imgBitmap = BitmapFactory.decodeFile(imgPath,mOptions);
//Runtime.getRuntime().gc();
imgBitmap = getResizedBitmapImage(imgBitmap, 200, 200, exifOrientation);
openImage.setImageBitmap(imgBitmap);
}
別のケース:ビットマップをURLから取得するとき:
URL url = new URL(urlTarget);
BitmapFactory.Options mOptions = new BitmapFactory.Options();
mOptions.inSampleSize=1;
Bitmap bmp = BitmapFactory.decodeStream(url
.openConnection().getInputStream(),null,mOptions);
画像が自動調整されない。それはBLURREDです。これは私の問題です。
これはスクリーンショットのみの場合です。
おかげ
解決されます、あなたがgetResizedBitmapImage()メソッドを貼り付けてもらえますか? –
これはスクリーンショットですので、 'mOptions.inSampleSize = 1;'を使用してください。それ以外の場合、間違いなくぼやけて表示されます –
こんにちは@SherifelKhatib上記のケースで私を助けましたが、URLからビットマップを取得する場合は動作していません。 URLからビットマップを取得する場合にinSampleSizeを使用する方法を教えてください。私は自分のコードを編集しました。どうぞご覧ください –