ARGB_8888`仅用于颜色质量,但打印/显示质量与分辨率有关(在屏幕上显示时每英寸点数).
例如,如果您有400 DPI屏幕(每英寸400点)并且想要显示具有此质量的PDF,那么您应该通过Bitmap.createBitmap()渲染位图,该像素将像素作为其大小:
Bitmap bitmap = Bitmap.createBitmap(
getResources().getDisplayMetrics().densityDpi * mCurrentPage.getWidth() / 72,
getResources().getDisplayMetrics().densityDpi * mCurrentPage.getHeight() / 72,
Bitmap.Config.ARGB_8888
);
哪里:
> getResources().getDisplayMetrics().densityDpi是目标DPI分辨率
> mCurrentPage.getWidth()在Postscript点返回宽度,其中每个pt为1/72英寸.
> 72(DPI)是默认的PDF分辨率.
因此,在#72乘以72我们得到英寸并乘以DPI得到像素.换句话说,为了匹配显示器的打印设备的质量,您应该增加图像的大小,因为默认的PDF分辨率是72 DPI.还请检查this post?