Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.1
    • Fix Version/s: 4.2
    • Component/s: Core/Parsing
    • Labels:
      None
    • Environment:
      Any

      Description

      Quite a bit of refactoring was done in 4.1.1 to remove some duplication in the image rendering pipeline. One of the duplications was related to the fact that we where scaling some image types more then once. In the document in question their is a rather large image 2150x3033.

      The image scaling flag was introduced the amount of memory used for some large images. Another side effect is that it makes "large" image look pretty. In general Java2D doesn't apply any smoothing or anti-aliasing for images bit AffineTransformOp can b used to help with this effect. The image in question is now scaled 50% which improves the quality a bit but not as well as the double image scaling did prior to 4.1.1. I'll have to go back and try and figure out what the equivalent scaling metrics where between the two versions.

        Activity

        Patrick Corless created issue -
        Patrick Corless made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 4.2 [ 10243 ]
        Patrick Corless made changes -
        Salesforce Case []
        Assignee Priority P1
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #23978 Thu Feb 17 08:27:45 MST 2011 patrick.corless PDF-243 added scaling back to the Shapes class for images. For what ever reason the double scaling seems to work best when op.filter(scale) and image.getScaledInstance are used in tandem. I would like to consolidate the two approaches but the later returns an image which is expensive to convert back to a buffered image. There is a performance hit but the improved rendering quality seems to be worth it.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/graphics/Shapes.java
        Commit graph MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/ImageCache.java
        Hide
        Patrick Corless added a comment -

        Reverted back to a double scale mechanism. the Shapes class scalling seems to be important in insuring that the image gets "crisper" during the scale. It would be nice to revisit the issue in the future.

        Show
        Patrick Corless added a comment - Reverted back to a double scale mechanism. the Shapes class scalling seems to be important in insuring that the image gets "crisper" during the scale. It would be nice to revisit the issue in the future.
        Patrick Corless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Patrick Corless
            Reporter:
            Patrick Corless
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: