2
我有一个java应用程序,它使用的是生成报告的文本。 我必须包含一个分辨率为150dpi的标志。 我uwrote的代码如下:Itext和PngImage
final float logoWidth = 368;
final float logoHeigth = 182;
float x = PageSize.A4.getWidth() - (16 * millimeters) - logoWidth;
float y = PageSize.A4.getHeight() - logoHeigth;
final InputStream idLogo = getClass().getResourceAsStream("/logos/ID_Module_150dpi_layoutgroesse.png");
Image logoTop = PngImage.getImage(idLogo);
logoTop.setAbsolutePosition(x, y);
的问题是,该标志是在合适的位置添加,但大小是不正确的。它是高度的两倍,宽度的两倍。我在这里做错了什么?
在此先感谢!
好了,之间我发现,如果图像被放置没有任何缩放分辨率将为72.如果放大图像的缩放比例为50%,分辨率将为144.对于较低的缩放比例,分辨率会增加,因为像素相同,但尺寸会更小。在我的情况下,我必须调整到45%,因为所需的分辨率是150 DPI。我正在使用logoTop.scalePercent(48) – Luixv
噢好吧,非常有趣,很高兴你找到了答案! – epoch
顺便说一句,我不得不将其缩放到48%而不是45%。我的错。 – Luixv