我正在制作位图(稍后将在纸上打印)并使用画布绘制它。
但保存后它总是有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?
答案 0 :(得分:0)
你必须从原来的位图创建缩放位图:
MyNewBitmap = Bitmap.createScaledBitmap(myOldOne,612,612,false);
其中612宽度和612高度结果将是图像平方。我正在使用这种方法来防止Instagram缩放或剪切我的图像,因此它完全适合instagram图像裁剪:)。 无论如何,你必须找到适当的方法来缩放图像以适应72dpi。我猜800x600会做到这一点。尝试创建新的位图并缩放旧位图,然后保存newBitmap。 祝你好运