0

我想增加图像的大小。我用这段代码得到图像BitmapFactory.decodeResource(getResources(), R.drawable.car);

但是这个图像在不同的屏幕上有不同的大小,所以我想根据屏幕大小调整图像大小。

4

4 回答 4

1

当然你可以缩放:

Bitmap bm = Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter);
于 2013-10-13T12:13:12.260 回答
0

在 android 中,应该以至少 3 种格式存储每个资源,xhdpi、hdpi 和 mdpi,因为您已将资源的副本以所有 3 种格式存储在它们各自的文件夹中。

res/drawable-mdpi/my_icon.png // 中等密度位图 res/drawable-hdpi/my_icon.png // 高密度位图 res/drawable-xhdpi/my_icon.png // 超高密度位图

该平台足够智能,可以根据自己的正确屏幕尺寸选择正确的资源。

如果您在所有 3 个文件夹中都有正确的图像,我认为您不会遇到任何问题。

http://developer.android.com/guide/practices/screens_support.html

于 2013-10-13T12:05:17.043 回答
0

查看http://square.github.io/picasso/你可以下载,设置你想要的图像并调整它的大小,只需一行。它还允许磁盘缓存。

于 2013-10-13T12:10:07.063 回答
0

是的,您可以使用以下代码片段来做到这一点,第一部分 retrns 当前屏幕的宽度和高度,第二部分重新调整图像大小。

// This will return the screen size in pixels
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

// Use this to bind and re-size the image
Bitmap car;
car = BitmapFactory.decodeResource(getResources(), R.drawable.car);
car = Bitmap.createScaledBitmap(car, width, height, true);
于 2013-10-13T12:21:30.920 回答