Image.st
changeset 8141 c4b680a69618
parent 8136 e18855468edd
child 8152 aa729f2a2a58
--- a/Image.st	Thu Aug 31 16:38:58 2017 +0200
+++ b/Image.st	Thu Aug 31 16:39:32 2017 +0200
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1991 by Claus Gittinger
               All Rights Reserved
@@ -6705,18 +6707,7 @@
     |type ddepth|
 
     ddepth := aDevice depth.
-
-    aDevice hasGrayscales ifFalse:[
-        ^ self asMonochromeFormOn:aDevice
-    ].
-
     type := aDevice visualType.
-    (type == #StaticGray) ifTrue:[
-        ddepth == 8 ifTrue:[
-            ^ self paletteImageAsGray8FormOn:aDevice
-        ].
-        ^ self asGrayFormOn:aDevice
-    ].
 
     (type == #TrueColor) ifTrue:[
         DitherAlgorithm == #floydSteinberg ifTrue:[
@@ -6731,8 +6722,20 @@
         ^ self paletteImageAsTrueColorFormOn:aDevice
     ].
 
+    aDevice hasGrayscales ifFalse:[
+        ^ self asMonochromeFormOn:aDevice
+    ].
+
+    (type == #StaticGray) ifTrue:[
+        "/ ddepth == 8 ifTrue:[
+        "/     ^ self paletteImageAsGray8FormOn:aDevice
+        "/ ].
+        ^ self asGrayFormOn:aDevice
+    ].
+
     "/ the PseudoColor conversion also works for
-    "/ StaticColor, GrayScale & DirectColor; although possibly with suboptimal results
+    "/ StaticColor, GrayScale & DirectColor; 
+    "/ although possibly with suboptimal results
 
     ^ self paletteImageAsPseudoFormOn:aDevice
 
@@ -13668,17 +13671,16 @@
         deviceImageDepth := entry at:#depth.
         deviceImageBitsPerPixel := entry at:#bitsPerPixel.
 
-        "/ for now, ignore all depth's which are neither 1 nor the
-        "/ devices depth.
+        "/ for now, ignore all depth's which are neither 1 nor the device's depth.
         "/ (actually, many devices can handle other pixMap formats,
-        "/ but I don't know (yet) how to pass the correct color info
+        "/  but I don't know (yet) how to pass the correct color info)
 
         ((deviceImageDepth == 1) or:[deviceImageDepth == aDevice depth]) ifTrue:[
 
             deviceImageBitsPerPixel > maxBitsPerPixel ifTrue:[
                 maxInfo := entry.
-    "/            maxBitsPerPixel := deviceImageBitsPerPixel.
-    "/            maxDepth := deviceImageDepth.
+                "/ maxBitsPerPixel := deviceImageBitsPerPixel.
+                "/ maxDepth := deviceImageDepth.
             ].
 
             deviceImageDepth >= myDepth ifTrue:[
@@ -13686,7 +13688,8 @@
                     "/ take the better one ...
                     (bestDeviceDepth isNil
                      or:[(bestDeviceBitsPerPixel ~~ bestDeviceDepth)
-                        and:[deviceImageDepth == deviceImageBitsPerPixel]]) ifTrue:[
+                        and:[deviceImageDepth == deviceImageBitsPerPixel]]
+                    ) ifTrue:[
                         bestInfo := entry.
                         bestDeviceDepth := deviceImageDepth.
                         bestDeviceBitsPerPixel := deviceImageBitsPerPixel.
@@ -13694,7 +13697,8 @@
                 ] ifFalse:[
                     "/ take the next-larger depth
                     (bestDeviceDepth isNil
-                     or:[deviceImageBitsPerPixel < bestDeviceBitsPerPixel]) ifTrue:[
+                     or:[deviceImageBitsPerPixel < bestDeviceBitsPerPixel]
+                    ) ifTrue:[
                         bestInfo := entry.
                         bestDeviceDepth := deviceImageDepth.
                         bestDeviceBitsPerPixel := deviceImageBitsPerPixel.