JPEGReader.st
changeset 3191 8675735eddd3
parent 3098 737b14b51411
child 3345 3a982602131a
--- a/JPEGReader.st	Thu Jul 04 12:57:17 2013 +0200
+++ b/JPEGReader.st	Fri Jul 05 01:09:20 2013 +0200
@@ -573,21 +573,19 @@
 fromStream:aStream
     "read a JPG image from a stream"
 
-    |dataIdx bytesPerRow returnCode pos1 ok tmpFile s|
+    |dataIdx bytesPerRow returnCode pos1 ok s|
 
     aStream isExternalStream ifFalse:[
         "/ libJpeg can only handle real OS-streams
 
-        tmpFile := Filename newTemporary.
+        s := FileStream newTemporary binary.
         [
-            s := tmpFile writeStream binary.
             s nextPutAll:aStream contents.
-            s close.
-            s := tmpFile readStream binary.
+            s reset.
             ^ self fromStream:s.
         ] ensure:[
-            s notNil ifTrue:[s close].
-            tmpFile delete.
+            s close.
+            s fileName delete.
         ].
 
         "/ 'JPEGReader [info]: can only read from real streams' infoPrintCR.
@@ -658,6 +656,14 @@
     "
      JPEGReader fromFile:'../../support/libjpeg-9/testimg.jpg'
     "
+
+    "
+     |stream|
+     stream := #[] readWriteStream.
+     '../../support/libjpeg-9/testimg.jpg' asFilename copyToStream:stream.
+     JPEGReader fromStream:stream
+    "
+
     "
      |stream reader|
 
@@ -675,11 +681,11 @@
 !JPEGReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/JPEGReader.st,v 1.60 2013-03-06 09:01:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/JPEGReader.st,v 1.61 2013-07-04 23:09:20 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libview2/JPEGReader.st,v 1.60 2013-03-06 09:01:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/JPEGReader.st,v 1.61 2013-07-04 23:09:20 stefan Exp $'
 ! !