image saving - use save:onStream:
authorClaus Gittinger <cg@exept.de>
Fri, 12 Sep 2003 13:40:44 +0200
changeset 3933 10147dc53aef
parent 3932 afa76a9c32eb
child 3934 9226f49c99d5
image saving - use save:onStream:
ImageReader.st
--- a/ImageReader.st	Fri Sep 12 13:27:46 2003 +0200
+++ b/ImageReader.st	Fri Sep 12 13:40:44 2003 +0200
@@ -2197,11 +2197,26 @@
 save:image onFile:aFileName
     "save image in my format on aFile"
 
-    ^ Image cannotRepresentImageSignal 
-	raiseWith:image
-	errorString:('image save not implemented for this format').
+    |stream|
+
+    [
+        stream := aFileName asFilename newReadWriteStream.
+    ] on:FileStream openErrorSignal do:[:ex|
+        ^ Image fileCreationErrorSignal 
+            raiseWith:image
+            errorString:('file creation error: ' , aFileName asString).
+    ].
 
-    "Modified: 10.4.1997 / 17:43:52 / cg"
+    [
+        [
+            self save:image onStream:stream.
+        ] ifCurtailed:[
+            aFileName asFilename delete.
+        ].
+
+    ] ensure:[
+        stream close.
+    ].
 !
 
 save:image onStream:aStream
@@ -2222,5 +2237,5 @@
 !ImageReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.82 2003-09-12 11:27:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.83 2003-09-12 11:40:44 cg Exp $'
 ! !