Fix reading DPI for TIFF files.

Jira issue key: SANSELAN-68
Submitted by: VVD <vvd at pochta dot ru>



git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@1325111 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
index 6958deb..c95556b 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
@@ -201,8 +201,8 @@
         case 2: // Inch
             unitsPerInch = 1.0;
             break;
-        case 3: // Meter
-            unitsPerInch = 0.0254;
+        case 3: // Centimeter
+            unitsPerInch = 2.54;
             break;
         default:
             break;
@@ -223,7 +223,7 @@
             {
                 double XResolutionPixelsPerUnit = xResolutionField
                         .getDoubleValue();
-                physicalWidthDpi = (int) (XResolutionPixelsPerUnit / unitsPerInch);
+                physicalWidthDpi = (int) Math.round((XResolutionPixelsPerUnit * unitsPerInch));
                 physicalWidthInch = (float) (width / (XResolutionPixelsPerUnit * unitsPerInch));
             }
             if ((yResolutionField != null)
@@ -231,7 +231,7 @@
             {
                 double YResolutionPixelsPerUnit = yResolutionField
                         .getDoubleValue();
-                physicalHeightDpi = (int) (YResolutionPixelsPerUnit / unitsPerInch);
+                physicalHeightDpi = (int) Math.round((YResolutionPixelsPerUnit * unitsPerInch));
                 physicalHeightInch = (float) (height / (YResolutionPixelsPerUnit * unitsPerInch));
             }
         }