Show / Hide Table of Contents

Delegate TiffRgbaImage.PutSeparateDelegate

Delegate for "put" method (the method that is called to pack pixel data in the raster) used when converting separated samples.

Namespace: BitMiracle.LibTiff.Classic
Assembly: BitMiracle.LibTiff.NET.dll
Syntax
public delegate void PutSeparateDelegate(TiffRgbaImage img, int[] raster, int rasterOffset, int rasterShift, int x, int y, int width, int height, byte[] buffer, int offset1, int offset2, int offset3, int offset4, int bufferShift);
Parameters
Type Name Description
TiffRgbaImage img

An instance of the TiffRgbaImage class.

System.Int32[] raster

The raster (the buffer to place decoded image data to).

System.Int32 rasterOffset

The zero-based byte offset in raster at which to begin storing decoded bytes.

System.Int32 rasterShift

The value that should be added to rasterOffset after each row processed.

System.Int32 x

The x-coordinate of the first pixel in block of pixels to be decoded.

System.Int32 y

The y-coordinate of the first pixel in block of pixels to be decoded.

System.Int32 width

The block width.

System.Int32 height

The block height.

System.Byte[] buffer

The buffer with image data.

System.Int32 offset1

The zero-based byte offset in buffer at which to begin reading image bytes that constitute first sample plane.

System.Int32 offset2

The zero-based byte offset in buffer at which to begin reading image bytes that constitute second sample plane.

System.Int32 offset3

The zero-based byte offset in buffer at which to begin reading image bytes that constitute third sample plane.

System.Int32 offset4

The zero-based byte offset in buffer at which to begin reading image bytes that constitute fourth sample plane.

System.Int32 bufferShift

The value that should be added to offset1, offset2, offset3 and offset4 after each row processed.

Remarks

The image reading and conversion methods invoke "put" methods to copy/image/whatever tiles of raw image data. A default set of methods is provided to convert/copy raw image data to 8-bit packed ABGR format rasters. Applications can supply alternate methods that unpack the data into a different format or, for example, unpack the data and draw the unpacked raster on the display.

To setup custom "put" method for separated samples please use PutSeparate property.

The bufferShift is usually 0. It is greater than 0 if width of strip being converted is greater than image width or part of the tile being converted is outside the image (may be true for tiles on the right and bottom edge of the image). In other words, bufferShift is used to make up for any padding on the end of each line of the buffer with image data.

The rasterShift is 0 if width of tile being converted is equal to image width and image data should not be flipped vertically. In other circumstances rasterShift is used to make up for any padding on the end of each line of the raster and/or for flipping purposes.

  • Improve this Doc
  • View Source
Back to top Generated by DocFX