Mercurial > octave-libtiff
view scripts/io/Tiff.m @ 31126:7851c5b9c950
Tiff: implemented writeEncodedStrip function for writing a strip to an image
* Tiff.m(writeEncodedStrip): added a method for writing strip to the image.
* __tiff__.cc(F__tiff_write_encoded_strip): implemented an internal function
to preprocess the wwriteEncodedStrip function call.
* __tiff__.cc(write_strip): implemented the logic to write the strip data
to the file.
author | magedrifaat <magedrifaat@gmail.com> |
---|---|
date | Sat, 23 Jul 2022 21:34:47 +0200 |
parents | e8d1cc309bc9 |
children | 7349994f30f8 |
line wrap: on
line source
classdef Tiff properties (Constant = true) % TODO(maged): Add the remaining fields TagID = struct( "SubFileType", 254, "ImageWidth", 256, "ImageLength", 257, "BitsPerSample", 258, "Compression", 259, "Photometric", 262, "Thresholding", 263, "FillOrder", 266, "DocumentName", 269, "ImageDescription", 270, "Make", 271, "Model", 272, "StripOffsets", 273, "Orientation", 274, "SamplesPerPixel", 277, "RowsPerStrip", 278, "StripByteCounts", 279, "MinSampleValue", 280, "MaxSampleValue", 281, "XResolution", 282, "YResolution", 283, "PlanarConfiguration", 284, "PageName", 285, "XPosition", 286, "YPosition", 287, "GrayResponseUnit", 290, 'GrayResponseCurve', 291, "Group3Options", 292, "Group4Options", 293, "ResolutionUnit", 296, "PageNumber", 297, "TransferFunction", 301, "Software", 305, "DateTime", 306, "Artist", 315, "HostComputer", 316, "WhitePoint", 318, "PrimaryChromaticities", 319, "ColorMap", 320, "HalfToneHints", 321, "TileWidth", 322, "TileLength", 323, "TileOffsets", 324, "TileByteCounts", 325, "SubIFD", 330, "InkSet", 332, "InkNames", 333, "NumberOfInks", 334, "DotRange", 336, "TargetPrinter", 337, "ExtraSamples", 338, "SampleFormat", 339, "SMinSampleValue", 340, "SMaxSampleValue", 341, "YCbCrCoefficients", 529, "YCbCrSubSampling", 530, "YCbCrPositioning", 531, "ReferenceBlackWhite", 532, "XMP", 700, "ImageDepth", 32997, "Copyright", 33432, "RichTIFFIPTC", 33723, "Photoshop", 34377, "ICCProfile", 34675, "SToNits", 37439, "JPEGQuality", 65537, "JPEGColorMode", 65538, "ZipQuality", 65557, "SGILogDataFmt", 65560 ) endproperties properties (Access = private) tiff_handle endproperties methods function t = Tiff (filename, mode="r") if (nargin == 0 || nargin > 2) % print_usage(); error("Usage: Tiff(filename[, mode])"); endif t.tiff_handle = __open_tiff__ (filename, mode); endfunction function close (t) __close_tiff__ (t.tiff_handle); endfunction function tag = getTag (t, tag_name) tag = __tiff_get_tag__ (t.tiff_handle, tag_name); endfunction function setTag (t, tag_name, tag_value) __tiff_set_tag__ (t.tiff_handle, tag_name, tag_value); endfunction function argout = read (t) argout = __tiff_read__ (t.tiff_handle); endfunction function writeEncodedStrip (t, stripNumber, imageData) __tiff_write_encoded_strip__ (t.tiff_handle, stripNumber, imageData); endfunction % TODO(maged): add documentation and make print_usage work endmethods endclassdef ## test empty image %!testif HAVE_TIFF %! filename = [tempname() ".tif"]; %! unwind_protect %! a = Tiff (filename, "w"); %! a.close (); %! a = Tiff (filename, "rh"); %! a.close (); %! unwind_protect_cleanup %! unlink (filename); %! end_unwind_protect