Changeset 794


Ignore:
Timestamp:
01/30/14 16:23:30 (10 years ago)
Author:
jts21
Message:

Fix rotated image offset (again, this time without causing jaggy edges)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/io/PDF2Writer.java

    r793 r794  
    104104                        PdfContentByte cb = _pdfWriter.getDirectContent();
    105105                        com.lowagie.text.Image iTextImage = com.lowagie.text.Image.getInstance(image, null);
    106                         iTextImage.setAbsolutePosition(pic.getX(), _pdfWriter.getPageSize().getHeight() - pic.getY() - pic.getHeight());
     106                        float angle = (float) (pic.getRotate() * Math.PI / 180);
     107                        double sin = Math.sin(angle), cos = Math.cos(angle);
     108                        int w = pic.getWidth(), h = pic.getHeight();
     109                        iTextImage.setAbsolutePosition((float) (pic.getX() + (w - Math.abs(w * cos + h * sin)) / 2),
     110                                        (float) (_pdfWriter.getPageSize().getHeight() - pic.getY() - (h + Math.abs(w * sin + h * cos)) / 2));
    107111                        iTextImage.scalePercent(pic.getScale() * 100);
    108                         iTextImage.setRotationDegrees((float) - pic.getRotate());
     112                        iTextImage.setRotation(-angle);
    109113                        cb.addImage(iTextImage);
    110114                } catch (DocumentException e) {
Note: See TracChangeset for help on using the changeset viewer.