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