class: ImageReader
added:
#saveAll:onFile:
#saveAll:onStream:
#writingFile:do:
#writingFile:for:do:
changed:
#save:onFile:
#save:onStream:
--- a/ImageReader.st Tue Apr 30 23:46:28 2013 +0200
+++ b/ImageReader.st Mon May 06 15:13:47 2013 +0200
@@ -1846,28 +1846,8 @@
save:image onFile:aFileName
"save image in my format on aFile"
- |stream|
-
- [
- stream := aFileName asFilename newReadWriteStream.
- ] on:FileStream openErrorSignal do:[:ex|
- ^ Image fileCreationErrorSignal
- raiseWith:image
- errorString:('file creation error: ' , aFileName asString).
- ].
-
- [
- [
- self save:image onStream:stream.
- ] ifCurtailed:[
- OperatingSystem accessDeniedErrorSignal
- handle:[:ex |
- ] do:[
- aFileName asFilename delete.
- ]
- ].
- ] ensure:[
- stream close.
+ self writingFile:aFileName for:image do:[:stream |
+ self save:image onStream:stream.
].
"Modified: / 01-06-2010 / 19:02:17 / cg"
@@ -1877,8 +1857,57 @@
"save image in my format on a Stream"
^ Image cannotRepresentImageSignal
- raiseWith:image
- errorString:('image save not implemented for this format').
+ raiseWith:image
+ errorString:('image save not implemented/supported for this format').
+!
+
+saveAll:aCollectionOfImages onFile:aFileName
+ "save a collection of images in my format on aFile.
+ Not all file formats support multiple images, so be prepared
+ for an exception to be raised."
+
+ self writingFile:aFileName for:aCollectionOfImages do:[:stream |
+ self saveAll:aCollectionOfImages onStream:stream.
+ ].
+
+ "Modified: / 01-06-2010 / 19:02:17 / cg"
+!
+
+saveAll:aCollectionOfImages onStream:aStream
+ "save an image collection in my format on a Stream.
+ Not all file formats support multiple images, so be prepared
+ for an exception to be raised."
+
+ ^ Image cannotRepresentImageSignal
+ raiseWith:aCollectionOfImages
+ errorString:('save of imageSequence not implemented/supported for this format').
+!
+
+writingFile:aFileName for:something do:aBlock
+ "helper for save image"
+
+ |stream|
+
+ [
+ stream := aFileName asFilename newReadWriteStream.
+ ] on:FileStream openErrorSignal do:[:ex|
+ ^ Image fileCreationErrorSignal
+ raiseWith:something
+ errorString:('file creation error: ' , aFileName asString).
+ ].
+
+ [
+ [ aBlock value: stream ]
+ ifCurtailed:[
+ OperatingSystem accessDeniedErrorSignal
+ handle:[:ex |]
+ do:[
+ aFileName asFilename delete.
+ ]
+ ].
+ ] ensure:[
+ stream close.
+ ].
! !
!ImageReader methodsFor:'initialization'!
@@ -1939,9 +1968,10 @@
!ImageReader class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.102 2013-04-13 06:37:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.103 2013-05-06 13:13:47 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.102 2013-04-13 06:37:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/ImageReader.st,v 1.103 2013-05-06 13:13:47 cg Exp $'
! !
+