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]

Reply via email to