2

私は通常、サイズの大きい画像をダウンロードし、imageviewを使用して縮小しますが、最近、ネットワーク接続が少ないアプリで動作しないことに対処しようとしているので、デバイスに到達したら画像のサイズを大きくするにはどうすればよいか疑問に思いました。imageviewに表示された後、画像のサイズを変更しようとしましたが、imageviewが元の画像より大きくなることはありません。デバイス上の画像を拡大または拡大するための本当に簡単な方法があると確信していますが、私はまだそれに遭遇していません。

では、どうすれば画像のサイズを大きくできますか。それを爆破して画像ビューで使用したいのですが、私が扱っている画像は128X256しかないので、それらを約512X1024に拡張したいと思います。

4

4 に答える 4

5

この方法を使用してみてください。

public static Bitmap scaleBitmap(Bitmap bitmapToScale, float newWidth, float newHeight) {   
if(bitmapToScale == null)
    return null;
//get the original width and height
int width = bitmapToScale.getWidth();
int height = bitmapToScale.getHeight();
// create a matrix for the manipulation
Matrix matrix = new Matrix();

// resize the bit map
matrix.postScale(newWidth / width, newHeight / height);

// recreate the new Bitmap and set it back
return Bitmap.createBitmap(bitmapToScale, 0, 0, bitmapToScale.getWidth(), bitmapToScale.getHeight(), matrix, true);  } 

私の答えを参照してください:ImageView OutofMemoryException

于 2012-06-26T07:50:52.387 に答える
2

マトリックスを使用してビットマップのサイズを変更します。

このサイズ変更ビットマップを確認してください

于 2012-06-26T08:04:07.787 に答える
0

ビットマップを手動でスケーリングする場合は、Bitmap.createScaledBitmap()これに使用できる方法があります。
ImageViewでこれを処理する場合は、layout_width/layout_heightを以外の値に設定する必要があります。そうしないwrap_contentと、常にビットマップのサイズに縮小されます。scaleType次に、属性を実際にビットマップをスケーリングするタイプに変更する必要があります。

于 2012-06-26T08:02:30.617 に答える
0

画像を拡大または縮小する機能は、android.graphicsライブラリから簡単に利用できます。

Bitmap bitmapScaled = Bitmap.createScaledBitmap(Bitmap bitmapOrig, int widthNew, int heightNew, boolean filter);
于 2014-06-25T22:47:28.460 に答える