comparison NEWS @ 17332:eb7e9a991ffb

Implement writing of CMYK and fix writing of image alpha channel (bug #32986). * __magick_read__.cc (bitdepth_from_class, init_encode_image): new functions created from pieces of encode_indexed_images () to be used by the other encode image functions. (encode_indexed_images): make use of new bitdepth_from_class(), and init_encode_image() functions. (encode_bool_image): rewritten to match flow of the other encode functions, use fortran_vec for performance, and use only 4th dimension for frames. (encode_uint_image): completely rewritten to identify images of CMYK type and not confuse them with RGB plus alpha channel. Now accepts the alpha channel as separate argument. Image argument must now be of same class as the template. (__magick_write__): changed to match new API for the encode functions. * private/__imwrite__.m: set default and input check for alpha channel option. * imwrite.m: document alpha channel option as separate argument. * NEWS: announce rewrite of the image IO functions and warn about possible backwards incompatibilities.
author Carnë Draug <carandraug@octave.org>
date Mon, 19 Aug 2013 16:11:18 +0100
parents 5ff843d739fc
children 9b7ca74489c7
comparison
equal deleted inserted replaced
17331:636d75a58cd9 17332:eb7e9a991ffb
136 doubles. For certain operations, such as fft2, the image must still be 136 doubles. For certain operations, such as fft2, the image must still be
137 converted to double in order to work. 137 converted to double in order to work.
138 138
139 Other changes include fixes to the way indexed images are read from a 139 Other changes include fixes to the way indexed images are read from a
140 colormap depending on the image class (integer images have a -1 offset to 140 colormap depending on the image class (integer images have a -1 offset to
141 the colormap row number), and always returning the actual indexed image 141 the colormap row number).
142 with imread instead of a RGB image if the colormap was not requested 142
143 as output. 143 ** The imread and imwrite functions have been completely rewritten
144
145 The main changes relate to the alpha channel, support for reading and
146 writing of floating point images, implemented writing of indexed images,
147 and appending images to multipage image files.
148
149 The issues that may arise due to backwards incompatibility are:
150
151 * imwrite no longer interprets a length of 2 or 4 in the third dimension
152 as grayscale or RGB with alpha channel (a length of 4 will be saved
153 as CMYK image). Alpha channel must be passed as separate argument.
154 * imread will always return the colormap indexes when reading an indexed
155 image, even if the colormap is not requested as output.
156 * transparency values are now inverted from the previous Octave versions
157 (0 is for completely transparent instead of completely opaque).
158
159 In addition, the function imformats has been implemented to expand
160 reading and writing of images of different formats through imread
161 and imwrite.
144 162
145 ** The colormap function now provides new options---"list", "register", 163 ** The colormap function now provides new options---"list", "register",
146 and "unregister"---to list all available colormap functions, and to 164 and "unregister"---to list all available colormap functions, and to
147 add or remove a function name from the list of known colormap 165 add or remove a function name from the list of known colormap
148 functions. Packages that implement extra colormaps should use these 166 functions. Packages that implement extra colormaps should use these