2012-06-14 37 views
0

我正在製作位圖(稍後將在紙上打印)並使用畫布在其上繪製。 但保存後總是有72 dpi的分辨率。我試圖使用bitmap.setDensity(96);,但似乎沒有工作。Android位圖始終以72dpi保存

我這是怎麼做的位圖,保存它,沒有什麼花哨

Bitmap outBitmap = Bitmap.createBitmap(378,559,Bitmap.Config.RGB_565); 
     OutputStream outStream = null; 
     File file = new File(Environment.getExternalStorageDirectory(), 
     "96dpiBitmap.png"); 
     try { 
     outStream = new FileOutputStream(file); 
     outBitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream); 
     outStream.flush(); 
     outStream.close(); 
     } catch (FileNotFoundException e) { 
     // doh 
     } catch (IOException e) { 
     // doh 
     } 

所以。如何以dpi> 72保存位圖?

回答

0

,你必須從原來的一個前創建縮放位圖:

MyNewBitmap = Bitmap.createScaledBitmap(myOldOne,612,612,false); 

,其中612的寬度和高度612的結果將是圖像的平方。我使用這種方法來防止instagram縮放或切割我的圖像,所以它完全適合instagram圖像裁剪:)。無論如何,你必須找到正確的方式來縮放你的圖像,以適應72dpi。我猜800x600會做的。嘗試創建新的位圖並縮放舊的位圖,然後保存newBitmap。 祝你好運