2013-02-09 53 views
-1

所以現在我玩一個遊戲(機器人)和我有幾個問題。好的,只要我在屏幕上繪製任何不是320x480的圖像,它將只填充屏幕的一部分,例如,如果繪製500x500的圖像,它將只顯示圖像的左上部分,如果我繪製一個32x32它將只填充屏幕的一部分。這是一個問題,因爲爲了獲得清晰的圖像,我需要圖像在像素方面更大,否則圖像會出現像素化。基本上有一種方法可以將大圖像壓縮到一個設定的區域,在不切割圖像的情況下將500x500圖像放入320x480區域。如何把大PNG在屏幕上

回答

0

放入文件夾以下的尺寸的圖像:

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

一般加載的位圖文件縮小版是優選的,如圖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(); 
相關問題