0

我正在制作位图(稍后将打印在纸上)并使用画布在其上绘图。但保存后它总是有 72 dpi 的分辨率。我尝试使用bitmap.setDensity(96);,但它似乎不起作用。

这就是我制作位图并保存它的方式,没什么特别的

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 的位图?

4

1 回答 1

0

您必须为 ex 创建原始位图的缩放位图:

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

其中 612 宽度和 612 高度的结果将是图像平方。我正在使用这种方法来防止 instagram 缩放或剪切我的图像,使其完全适合 instagram 图像裁剪:)。无论如何,您必须找到正确的方法来缩放图像以适合 72dpi。我想 800x600 可以解决问题。尝试创建新位图并缩放旧位图,然后保存新位图。祝你好运

于 2013-02-01T18:05:40.483 回答