缩放单个图像的平板电脑android



我的项目有一个要求,在平板电脑的右窗格显示图像在纵向和横向模式。图像存储在sd卡中。此外,手机和平板电脑都将显示溅屏。目前它有6个溅屏,两种模式都支持mdpi, hdpi, &xhdpi。平板电脑也是如此。6为右窗格的图像,共18个图像。它使内容太重。从sd卡创建位图有时会抛出内存异常。我们不能把一张高分辨率的图像缩放成各种尺寸吗?单个高分辨率的溅屏图像用于肖像,1用于景观,1+1用于平板电脑,1+1用于右窗格,而不会丢失质量。请帮助。这可能吗?

我认为拥有不同分辨率图像的整体想法是使应用程序在所有设备上顺利运行。如果您手动开始对每个事件进行缩放(顺便说一下,这是一个昂贵的过程),可能会激怒用户,因为在某些设备上可能需要花费时间。

无论如何,你仍然可以缩放它,如果你想没有得到OutOfMemoryError通过降低采样图像

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4; // Better to keep it in power of 2 (as told in docs)
Bitmap bitmapScaled = BitmapFactory.decodeStream(inputStream, null, options);

更改分辨率

Bitmap.createScaledBitmap(sourceBitmap, width, height, isFilterNeeded);

虽然我强烈建议你阅读如何调整和旋转图像

最新更新