DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42406>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=42406

           Summary: The source-resolution configuration option is not
                    honored
           Product: Fop
           Version: 0.93
          Platform: All
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: images
        AssignedTo: fop-dev@xmlgraphics.apache.org
        ReportedBy: [EMAIL PROTECTED]


The source-resolution configuration option is not honored by FOP 0.93. Hence,
the default resolution of a bitmap image is hardwired to 72DPI, which is way too
big (XSL seems to say 90DPI, RenderX XEP uses 120DPI).

Of course, there is workaround which consists in specifying the size of the
image in inches or in centimeters. But this workaround is not as handy as
specifying a proper source-resolution.

I've made some very straightforward changes to
src/java/org/apache/fop/image/analyser/BMPReader.java, GIFReader.java,
JPEGReader.java, PNGReader.java, TIFFReader.java to make FOP honor the
source-resolution configuration option.

In all .java files, the changes always look like this:

[1] Replace the definition of getDimension():

+---------------------------------------------------------------+
private FopImage.ImageInfo getDimension(byte[] header) {
    FopImage.ImageInfo info = new FopImage.ImageInfo();
    ...
    return info;
}
+---------------------------------------------------------------+

by:

+---------------------------------------------------------------+
private void getDimension(byte[] header, FopImage.ImageInfo info) {
    ...
}
+---------------------------------------------------------------+

[2] Replace the invokation of getDimension():

+---------------------------------------------------------------+
    FopImage.ImageInfo info = getDimension(header);
+---------------------------------------------------------------+

by:
   
+---------------------------------------------------------------+
    FopImage.ImageInfo info = new FopImage.ImageInfo();
    info.dpiHorizontal = ua.getFactory().getSourceResolution();
    info.dpiVertical = info.dpiHorizontal;

    getDimension(header, info);
+---------------------------------------------------------------+

If you want a real patch, just send me an email saying so.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to