【发布时间】:2013-10-21 02:44:45
【问题描述】:
我想增加图像的大小。我使用此代码获取图像BitmapFactory.decodeResource(getResources(), R.drawable.car);
但是这张图片在不同的屏幕上有不同的尺寸,所以我想根据屏幕尺寸调整图片的大小。
【问题讨论】:
标签: android
我想增加图像的大小。我使用此代码获取图像BitmapFactory.decodeResource(getResources(), R.drawable.car);
但是这张图片在不同的屏幕上有不同的尺寸,所以我想根据屏幕尺寸调整图片的大小。
【问题讨论】:
标签: android
当然你可以缩放:
Bitmap bm = Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter);
【讨论】:
是的,你可以使用下面的代码 sn-ps 来做到这一点,第一部分 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);
【讨论】:
在 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
【讨论】:
查看http://square.github.io/picasso/,您可以在一行中下载、设置您想要的图像并调整其大小。它还允许磁盘缓存。
【讨论】: