2025-05-23

在使用Bitmap進行位圖讀取和顯示的時候需要註意在生成位圖時,系統會根據不同的情況來縮小、放大圖像。

當把圖片放到drawable文件夾中時,160密度的模擬器顯示的圖像有放大效果,240密度的模擬器顯示原尺寸的圖像。

當把圖片放到drawable-hdpi文件夾中時,160密度的模擬器顯示出的圖像有縮小效果,240密度的模擬器顯示原尺寸的圖像。

當把圖片放到drawable-mdpi文件夾中時,160密度的模擬器顯示原尺寸的圖像,240密度的模擬器顯示放大的圖像。

當把圖片放到drawable-ldpi文件夾中時,160、240密度的模擬器都顯示放大的圖片。

由此可以看出,在使用Bitmap顯示圖像時,一般應放在drawable-hdpi文件夾中,這樣可以根據屏幕的密度來調整圖像大小,比如再做遊戲時,大屏幕的與小屏幕的手機中,人物或物體應該有大小之分。

如果想無論什麼密度都顯示出原尺寸的圖像,則需要有如下幾行代碼進行設置:

 

1
// Bitmap的配置參數
2
BitmapFactory.Options opts = new BitmapFactory.Options();
3
opts.inDensity = getResources().getDisplayMetrics().densityDpi;
4
opts.inTargetDensity = getResources().getDisplayMetrics().densityDpi;
5
 
6
// 以指定的參數創建Bitmap
7
Bitmap girl = BitmapFactory.decodeResource(getResources(), R.drawable.girl, opts);
 

摘自  wangzunren
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *