如何在屏幕上放大png

时间:2013-02-09 03:48:05

标签: android

所以现在我正在玩游戏(android)并且我有几个问题。好的,所以每当我在屏幕上绘制任何不是320x480的图像时,它将仅填充屏幕的一部分,例如,如果绘制500x500的图像,它将仅显示图像的左上部分,如果我绘制32x32它只会填充屏幕的一部分。这是一个问题,因为为了获得清晰的图像,我需要图像在像素方面更大,否则图像会像素化出来。基本上有一种方法可以将大图像压缩到一个设定区域,使500x500图像适合320x480区域,而不会切割图像。

2 个答案:

答案 0 :(得分:1)

通常使用缩放选项加载缩小版的Bitmap文件,如here in Android documentation所示。

但是从您的问题来看,我认为您只想阅读图像文件的矩形部分。幸运的是,有一个班级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();

答案 1 :(得分:0)

将以下尺寸的图像放在文件夹中:

Hdpi: 480*800
Ldpi: 320*460
mdpi: 720*960
xdpi: 800*1280