Ticket #11867: GeoImageLayer_noExifOrientation.patch
| File GeoImageLayer_noExifOrientation.patch, 1.5 KB (added by , 11 years ago) |
|---|
-
src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java
84 84 final int w = img.getWidth(null); 85 85 final int h = img.getHeight(null); 86 86 final int hh, ww; 87 if (ExifReader.orientationSwitchesDimensions(entry.getExifOrientation())) { 87 final Integer exifOrientation = entry.getExifOrientation(); 88 if (exifOrientation != null && ExifReader.orientationSwitchesDimensions(exifOrientation)) { 88 89 ww = h; 89 90 hh = w; 90 91 } else { … … 98 99 BufferedImage scaledBI = new BufferedImage(targetSize.width, targetSize.height, BufferedImage.TYPE_INT_RGB); 99 100 Graphics2D g = scaledBI.createGraphics(); 100 101 101 final AffineTransform restoreOrientation = ExifReader.getRestoreOrientationTransform(entry.getExifOrientation(), w, h);102 102 final AffineTransform scale = AffineTransform.getScaleInstance((double) targetSize.width / ww, (double) targetSize.height / hh); 103 scale.concatenate(restoreOrientation); 103 if (exifOrientation != null) { 104 final AffineTransform restoreOrientation = ExifReader.getRestoreOrientationTransform(exifOrientation, w, h); 105 scale.concatenate(restoreOrientation); 106 } 104 107 105 108 while (!g.drawImage(img, scale, null)) { 106 109 try {
