在使用Bitmap進行位圖讀取和顯示的時候須要注意在生成位圖時,系統會根據不一樣的狀況來縮小、放大圖像。java
當把圖片放到drawable文件夾中時,160密度的模擬器顯示的圖像有放大效果,240密度的模擬器顯示原尺寸的圖像。code
當把圖片放到drawable-hdpi文件夾中時,160密度的模擬器顯示出的圖像有縮小效果,240密度的模擬器顯示原尺寸的圖像。遊戲
當把圖片放到drawable-mdpi文件夾中時,160密度的模擬器顯示原尺寸的圖像,240密度的模擬器顯示放大的圖像。圖片
當把圖片放到drawable-ldpi文件夾中時,160、240密度的模擬器都顯示放大的圖片。get
由此能夠看出,在使用Bitmap顯示圖像時,通常應放在drawable-hdpi文件夾中,這樣能夠根據屏幕的密度來調整圖像大小,好比再作遊戲時,大屏幕的與小屏幕的手機中,人物或物體應該有大小之分。it
若是想不管什麼密度都顯示出原尺寸的圖像,則須要有以下幾行代碼進行設置:io
// Bitmap的配置參數 BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inDensity = getResources().getDisplayMetrics().densityDpi; opts.inTargetDensity = getResources().getDisplayMetrics().densityDpi; // 以指定的參數建立Bitmap Bitmap girl = BitmapFactory.decodeResource(getResources(), R.drawable.girl, opts);