2011-09-06 5 views
2

보고서를 생성하기 위해 useitext를 사용하는 Java 응용 프로그램이 있습니다. 150dpi 해상도의 로고를 포함해야합니다.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); 

문제는 로고가 올바른 위치에 추가됩니다하지만 크기가 올바르지 않습니다 : 내가 uwrote 코드는 다음과 같다. 그것은 높이의 두 배이고 너비의 두 배입니다. 여기서 내가 뭘 잘못하고 있니?

미리 감사드립니다.

답변

3

당신은 내가 발견 사이에서 이미지가 어떤없이 배치되어있는 경우 나,

+1

음의 위치를 ​​iText를의 테이블과 결합 scaleToFit()을 사용하여 개인적으로 그 위치 scaleToFit() 다음

Image logoTop = PngImage.getImage(idLogo); logoTop.scaleToFit(x, y); 

그리고를 시도 해상도를 배율은 72가됩니다. 배율이 50 % 인 이미지를 배치하면 배율은 144가됩니다. 배율이 낮을수록 픽셀은 동일하지만 크기는 더 작아 지므로 해상도가 높아집니다. 필자의 경우 원하는 해상도가 150 DPI이므로 45 %로 확장해야합니다. 나는 로고를 사용 중입니다 .scalePercent (48) – Luixv

+0

오, 매우 흥미 롭습니다, 당신이 대답을 찾았 기 때문에 기쁩니다! – epoch

+0

BTW, 나는 그것을 48 %로하고 45 %로하지 말아야한다. 내 잘못. – Luixv