Code: Select all
MagickGetImagePixels() extracts pixel data from an image and returns it to
you. The method returns MagickTrue on success otherwise MagickFalse if an
error is encountered. The data is returned as char, short int, int, long,
float, or double in the order specified by map.
Suppose you want to extract the first scanline of a 640x480 image as
character data in red-green-blue order:
MagickGetImagePixels(wand,0,0,640,1,"RGB",CharPixel,pixels);
The format of the MagickGetImagePixels method is:
MagickBooleanType MagickGetImagePixels(MagickWand *wand,
const long x,const long y,const unsigned long columns,
const unsigned long rows,const char *map,const StorageType storage,
void *pixels)
A description of each parameter follows:
o wand: The magick wand.
o x, y, columns, rows: These values define the perimeter
of a region of pixels you want to extract.
o map: This string reflects the expected ordering of the pixel array.
It can be any combination or order of R = red, G = green, B = blue,
A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan,
Y = yellow, M = magenta, K = black, I = intensity (for grayscale),
P = pad.
o storage: Define the data type of the pixels. Float and double types are
expected to be normalized [0..1] otherwise [0..QuantumRange]. Choose from
these types: CharPixel, DoublePixel, FloatPixel, IntegerPixel,
LongPixel, QuantumPixel, or ShortPixel.
o pixels: This array of values contain the pixel components as defined by
map and type. You must preallocate this array where the expected
length varies depending on the values of width, height, map, and type.