所以现在我正在玩游戏(android),我有几个问题。好的,所以每当我在屏幕上绘制任何不是 320x480 的图像时,它只会填充屏幕的一部分,例如,如果绘制 500x500 的图像,它只会显示图像的左上角,如果我绘制一个 32x32 它只会填充屏幕的一部分。这是一个问题,因为为了获得清晰的图像,我需要图像在像素方面更大,否则图像会出现像素化。基本上有一种方法可以将大图像压缩到设定的区域中,使 500x500 的图像适合 320x480 的区域而不切割图像。
问问题
257 次
2 回答
1
通常,最好使用缩放选项加载缩小版本的位图文件,如Android 文档中所示。
但是,根据您的问题,我认为您只想读取图像文件的矩形部分。幸运的是,有一个类BitmapRegionDecoder
可以做到这一点:
BitmapRegionDecoder brd = BitmapRegionDecoder.newInstance(<file_name>,true);
Bitmap b = brd.decodeRegion(new Rect(0,0,32,32), BitmapFactory.Options());
//-- In the Options object above, you can set scale,
//-- which will read scaled down region and do it so faster--
//-- after you no longer need above resources anywhere, remember to free them --
brd.recycle();
于 2013-02-09T05:59:42.540 回答
0
将以下尺寸的图像放入文件夹中:
Hdpi: 480*800
Ldpi: 320*460
mdpi: 720*960
xdpi: 800*1280
于 2013-02-09T05:11:12.527 回答