2012-06-14 3 views
0

저는 비트 맵 (나중에 종이에 인쇄 될 것입니다)과 그 위에 그림을 그리기 위해 캔버스를 사용하고 있습니다. 그러나 저장 후 항상 72 dpi 해상도입니다. bitmap.setDensity(96);을 사용하려고했지만 작동하지 않는 것 같습니다. 내가 비트 맵을 만들고 저장하는 방법안드로이드 비트 맵은 항상 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

이 전 원래 하나에서 스케일 비트 맵을 만들 수 있습니다 결과는 이미지가 될 것입니다 612 폭 612 높이의 제곱

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

. 나는이 방법을 사용하여 인스 타 그램의 크기를 조정하거나 이미지를 자르지 못하게하여 인스 타 그램 이미지 자르기에 완벽하게 맞 춥니 다. :). 어쨌든 이미지를 72dpi로 맞출 수있는 적절한 방법을 찾아야합니다. 나는 800x600이 트릭을 할 것이라고 생각한다. 새 비트 맵을 만들고 이전 비트 맵의 ​​크기를 조정 한 다음 newBitmap을 저장하십시오. 행운을 빌며

관련 문제