--- a/GIFReader.st Tue Aug 15 16:51:28 2000 +0200
+++ b/GIFReader.st Wed Aug 16 19:24:28 2000 +0200
@@ -10,6 +10,8 @@
hereby transferred.
"
+"{ Package: 'stx:libview2' }"
+
ImageReader subclass:#GIFReader
instanceVariableNames:'redMap greenMap blueMap pass xpos ypos rowByteSize remainBitCount
bufByte bufStream prefixTable suffixTable clearCode eoiCode
@@ -774,12 +776,21 @@
save:image onFile:aFileName
"save image as GIF file on aFileName"
- |aStream|
+ |aStream convertedImage|
image depth ~~ 8 ifTrue:[
+ Image errorSignal handle:[:ex |
+ ex return.
+ ] do:[
+ convertedImage := Image newForDepth:8.
+ convertedImage fromImage:image photometric:#palette.
+ ].
+ convertedImage notNil ifTrue:[
+ ^ self save:convertedImage onFile:aFileName
+ ].
^ Image cannotRepresentImageSignal
raiseWith:image
- errorString:('GIF (currently) only supports depth8 images').
+ errorString:('GIF (currently) only supports depth8 images (cannot convert)').
].
aStream := FileStream newFileNamed:aFileName.
@@ -1018,6 +1029,6 @@
!GIFReader class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview2/GIFReader.st,v 1.75 2000-01-24 09:41:35 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/GIFReader.st,v 1.76 2000-08-16 17:24:28 cg Exp $'
! !
GIFReader initialize!