Author: jeremias
Date: Thu Nov 29 05:09:04 2007
New Revision: 599433
URL: http://svn.apache.org/viewvc?rev=599433&view=rev
Log:
Bugfix: BMP don't all have resolution information.
Added:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/resources/images/no-resolution.bmp
(with props)
Modified:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/image2/impl/PreloaderBMP.java
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/java/org/apache/fop/image2/ImagePreloaderTestCase.java
Modified:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/image2/impl/PreloaderBMP.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/image2/impl/PreloaderBMP.java?rev=599433&r1=599432&r2=599433&view=diff
==============================================================================
---
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/image2/impl/PreloaderBMP.java
(original)
+++
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/image2/impl/PreloaderBMP.java
Thu Nov 29 05:09:04 2007
@@ -85,8 +85,18 @@
in.skipBytes(12);
int xRes = in.readInt();
+ double xResDPI = UnitConv.in2mm(xRes / 1000d);
+ if (xResDPI == 0) {
+ xResDPI = userAgent.getSourceResolution();
+ }
+
int yRes = in.readInt();
- size.setResolution(UnitConv.in2mm(xRes / 1000d),
UnitConv.in2mm(yRes / 1000d));
+ double yResDPI = UnitConv.in2mm(yRes / 1000d);
+ if (yResDPI == 0) {
+ yResDPI = userAgent.getSourceResolution();
+ }
+
+ size.setResolution(xResDPI, yResDPI);
size.calcSizeFromPixels();
return size;
} finally {
Modified:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/java/org/apache/fop/image2/ImagePreloaderTestCase.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/java/org/apache/fop/image2/ImagePreloaderTestCase.java?rev=599433&r1=599432&r2=599433&view=diff
==============================================================================
---
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/java/org/apache/fop/image2/ImagePreloaderTestCase.java
(original)
+++
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/java/org/apache/fop/image2/ImagePreloaderTestCase.java
Thu Nov 29 05:09:04 2007
@@ -230,6 +230,23 @@
assertEquals(46092, info.getSize().getHeightMpt());
}
+ public void testBMPNoResolution() throws Exception {
+ String uri = "test/resources/images/no-resolution.bmp";
+
+ FOUserAgent userAgent = fopFactory.newFOUserAgent();
+
+ ImageManager manager = fopFactory.getImageManager();
+ ImageInfo info = manager.preloadImage(uri, userAgent);
+ assertNotNull("ImageInfo must not be null", info);
+ assertEquals("image/bmp", info.getMimeType());
+ assertEquals(uri, info.getOriginalURI());
+ assertEquals(50, info.getSize().getWidthPx());
+ assertEquals(50, info.getSize().getHeightPx());
+ assertEquals(userAgent.getSourceResolution(),
info.getSize().getDpiHorizontal(), 0.1);
+ assertEquals(50000, info.getSize().getWidthMpt());
+ assertEquals(50000, info.getSize().getHeightMpt());
+ }
+
public void testEPSAscii() throws Exception {
String uri = "test/resources/images/barcode.eps";
Added:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/resources/images/no-resolution.bmp
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/resources/images/no-resolution.bmp?rev=599433&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/test/resources/images/no-resolution.bmp
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]