PNGReader.st
changeset 4346 4dcdd8fd94ef
parent 4344 c5ff7d7f5a0b
child 4378 1e4515b34f1b
--- a/PNGReader.st	Sun Sep 08 16:56:51 2019 +0200
+++ b/PNGReader.st	Tue Sep 10 09:38:19 2019 +0200
@@ -164,21 +164,35 @@
     "Created: / 19-05-2019 / 20:15:13 / Claus Gittinger"
 !
 
+hasValidImageHeader:someHeaderBytes
+    "return true, if someHeaderBytes 
+     (which does not need to be the whole data, but large enough
+      to detect the header) contains a valid TIFF image header"
+
+    |magic|
+
+    magic := (someHeaderBytes copyFrom:1 to:8) asByteArray.
+    ^ (magic = #[137 80 78 71 13 10 26 10])
+
+    "
+     self isValidImageFile:'/home/cg/AudioExplorer_51_files/use_small.png'
+     self isValidImageFile:'C:\Users\cg\Desktop\croquet\cobalt-base-current-build-20090210\cobalt-base-current-build-20090210\content\models\textures\checkerboard.png'
+     self isValidImageFile:'C:\Dokumente und Einstellungen\cg\Desktop\misc\PNGs\Delete.png'
+    "
+
+    "Modified: 21.6.1996 / 20:38:46 / cg"
+!
+
 isValidImageFile:aFileName
     "return true, if aFileName contains a PNG image"
 
-    |inStream magic|
+    |someBytes inStream|
 
     inStream := self streamReadingFile:aFileName.
     inStream isNil ifTrue:[^ false].
-
-    inStream binary.
-
-    magic := ByteArray new:8.
-    inStream nextBytes:8 into:magic.
+    someBytes := inStream nextBytes:8.
     inStream close.
-
-    ^ (magic = #[137 80 78 71 13 10 26 10])
+    ^ self hasValidImageHeader:someBytes
 
     "
      self isValidImageFile:'/home/cg/AudioExplorer_51_files/use_small.png'