%
% ExportImagePixels() 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, ssize_t, float,
-% or double in the order specified by map.
+% encountered. The data is returned as char, short int, unsigned int,
+% unsigned long 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:
%
% The format of the ExportImagePixels method is:
%
-% MagickBooleanType ExportImagePixels(const Image *image,
-% const ssize_t x_offset,const ssize_t y_offset,const size_t columns,
-% const size_t rows,const char *map,const StorageType type,void *pixels,
+% MagickBooleanType ExportImagePixels(const Image *image,const ssize_t x,
+% const ssize_t y,const size_t width,const size_t height,
+% const char *map,const StorageType type,void *pixels,
% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o x_offset,y_offset,columns,rows: These values define the perimeter
+% o x,y,width,height: 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.
%
*/
-static void ExportCharPixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportCharPixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(unsigned char *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelBlue(image,p));
*q++=ScaleQuantumToChar(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelBlue(image,p));
*q++=ScaleQuantumToChar(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelBlue(image,p));
*q++=ScaleQuantumToChar(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelRed(image,p));
*q++=ScaleQuantumToChar(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelRed(image,p));
*q++=ScaleQuantumToChar(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToChar(GetPixelRed(image,p));
*q++=ScaleQuantumToChar(GetPixelGreen(image,p));
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ExportDoublePixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportDoublePixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(double *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelBlue(image,p));
*q++=(double) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelBlue(image,p));
*q++=(double) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelBlue(image,p));
*q++=(double) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelRed(image,p));
*q++=(double) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelRed(image,p));
*q++=(double) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(double) (QuantumScale*GetPixelRed(image,p));
*q++=(double) (QuantumScale*GetPixelGreen(image,p));
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ExportFloatPixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportFloatPixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(float *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelBlue(image,p));
*q++=(float) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelBlue(image,p));
*q++=(float) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelBlue(image,p));
*q++=(float) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelRed(image,p));
*q++=(float) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelRed(image,p));
*q++=(float) (QuantumScale*GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=(float) (QuantumScale*GetPixelRed(image,p));
*q++=(float) (QuantumScale*GetPixelGreen(image,p));
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ExportLongPixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportLongPixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(unsigned int *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelBlue(image,p));
*q++=ScaleQuantumToLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelBlue(image,p));
*q++=ScaleQuantumToLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelBlue(image,p));
*q++=ScaleQuantumToLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelRed(image,p));
*q++=ScaleQuantumToLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelRed(image,p));
*q++=ScaleQuantumToLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLong(GetPixelRed(image,p));
*q++=ScaleQuantumToLong(GetPixelGreen(image,p));
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ExportLongLongPixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportLongLongPixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(MagickSizeType *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
*q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
*q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
*q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
*q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
*q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
*q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ExportQuantumPixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportQuantumPixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(Quantum *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelBlue(image,p);
*q++=GetPixelGreen(image,p);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelBlue(image,p);
*q++=GetPixelGreen(image,p);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelBlue(image,p);
*q++=GetPixelGreen(image,p);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelIntensity(image,p);
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelRed(image,p);
*q++=GetPixelGreen(image,p);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelRed(image,p);
*q++=GetPixelGreen(image,p);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=GetPixelRed(image,p);
*q++=GetPixelGreen(image,p);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ExportShortPixel(const Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ExportShortPixel(const Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,void *pixels,
ExceptionInfo *exception)
{
q=(unsigned short *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelBlue(image,p));
*q++=ScaleQuantumToShort(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelBlue(image,p));
*q++=ScaleQuantumToShort(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelBlue(image,p));
*q++=ScaleQuantumToShort(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelRed(image,p));
*q++=ScaleQuantumToShort(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelRed(image,p));
*q++=ScaleQuantumToShort(GetPixelGreen(image,p));
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
*q++=ScaleQuantumToShort(GetPixelRed(image,p));
*q++=ScaleQuantumToShort(GetPixelGreen(image,p));
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- p=GetVirtualPixels(image,x_offset,y_offset+y,columns,1,exception);
+ p=GetVirtualPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (p == (const Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
MagickExport MagickBooleanType ExportImagePixels(const Image *image,
- const ssize_t x_offset,const ssize_t y_offset,const size_t columns,
- const size_t rows,const char *map,const StorageType type,void *pixels,
- ExceptionInfo *exception)
+ const ssize_t x,const ssize_t y,const size_t width,const size_t height,
+ const char *map,const StorageType type,void *pixels,ExceptionInfo *exception)
{
QuantumType
*quantum_map;
+ RectangleInfo
+ roi;
+
register ssize_t
i;
}
}
}
+ roi.width=width;
+ roi.height=height;
+ roi.x=x;
+ roi.y=y;
switch (type)
{
case CharPixel:
{
- ExportCharPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportCharPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case DoublePixel:
{
- ExportDoublePixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportDoublePixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case FloatPixel:
{
- ExportFloatPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportFloatPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case LongPixel:
{
- ExportLongPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportLongPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case LongLongPixel:
{
- ExportLongLongPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportLongLongPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case QuantumPixel:
{
- ExportQuantumPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportQuantumPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case ShortPixel:
{
- ExportShortPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ExportShortPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
default:
% ImportImagePixels() accepts pixel data and stores in the image at the
% location you specify. The method returns MagickTrue on success otherwise
% MagickFalse if an error is encountered. The pixel data can be either char,
-% short int, int, ssize_t, float, or double in the order specified by map.
+% short int, unsigned int, unsigned long long, float, or double in the order
+% specified by map.
%
% Suppose your want to upload the first scanline of a 640x480 image from
% character data in red-green-blue order:
%
% The format of the ImportImagePixels method is:
%
-% MagickBooleanType ImportImagePixels(Image *image,const ssize_t x_offset,
-% const ssize_t y_offset,const size_t columns,
-% const size_t rows,const char *map,const StorageType type,
-% const void *pixels,ExceptionInfo *exception)
+% MagickBooleanType ImportImagePixels(Image *image,const ssize_t x,
+% const ssize_t y,const size_t width,const size_t height,
+% const char *map,const StorageType type,const void *pixels,
+% ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o image: the image.
%
-% o x_offset,y_offset,columns,rows: These values define the perimeter
+% o x,y,width,height: These values define the perimeter
% of a region of pixels you want to define.
%
% o map: This string reflects the expected ordering of the pixel array.
%
*/
-static void ImportCharPixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportCharPixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const unsigned char *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRO") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,ScaleCharToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBO") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleCharToQuantum(*p++),q);
SetPixelGreen(image,ScaleCharToQuantum(*p++),q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ImportDoublePixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportDoublePixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const double *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ImportFloatPixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportFloatPixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const float *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ClampToQuantum((MagickRealType)
QuantumRange*(*p)),q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange*
(*p)),q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ImportLongPixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportLongPixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const unsigned int *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,ScaleLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ImportLongLongPixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportLongLongPixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const MagickSizeType *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,ScaleLongLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ImportQuantumPixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportQuantumPixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const Quantum *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,*p++,q);
SetPixelGreen(image,*p++,q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,*p++,q);
SetPixelGreen(image,*p++,q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,*p++,q);
SetPixelGreen(image,*p++,q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,*p++,q);
q+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,*p++,q);
SetPixelGreen(image,*p++,q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,*p++,q);
SetPixelGreen(image,*p++,q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,*p++,q);
SetPixelGreen(image,*p++,q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-static void ImportShortPixel(Image *image,const ssize_t x_offset,
- const ssize_t y_offset,const size_t columns,const size_t rows,
+static void ImportShortPixel(Image *image,const RectangleInfo *roi,
const char *restrict map,const QuantumType *quantum_map,const void *pixels,
ExceptionInfo *exception)
{
p=(const unsigned short *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleShortToQuantum(*p++),q);
SetPixelGreen(image,ScaleShortToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleShortToQuantum(*p++),q);
SetPixelGreen(image,ScaleShortToQuantum(*p++),q);
}
if (LocaleCompare(map,"BGRP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelBlue(image,ScaleShortToQuantum(*p++),q);
SetPixelGreen(image,ScaleShortToQuantum(*p++),q);
}
if (LocaleCompare(map,"I") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelGray(image,ScaleShortToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (LocaleCompare(map,"RGB") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleShortToQuantum(*p++),q);
SetPixelGreen(image,ScaleShortToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBA") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleShortToQuantum(*p++),q);
SetPixelGreen(image,ScaleShortToQuantum(*p++),q);
}
if (LocaleCompare(map,"RGBP") == 0)
{
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
SetPixelRed(image,ScaleShortToQuantum(*p++),q);
SetPixelGreen(image,ScaleShortToQuantum(*p++),q);
}
return;
}
- for (y=0; y < (ssize_t) rows; y++)
+ for (y=0; y < (ssize_t) roi->height; y++)
{
- q=GetAuthenticPixels(image,x_offset,y_offset+y,columns,1,exception);
+ q=GetAuthenticPixels(image,roi->x,roi->y+y,roi->width,1,exception);
if (q == (Quantum *) NULL)
break;
- for (x=0; x < (ssize_t) columns; x++)
+ for (x=0; x < (ssize_t) roi->width; x++)
{
register ssize_t
i;
}
}
-MagickExport MagickBooleanType ImportImagePixels(Image *image,
- const ssize_t x_offset,const ssize_t y_offset,const size_t columns,
- const size_t rows,const char *map,const StorageType type,
- const void *pixels,ExceptionInfo *exception)
+MagickExport MagickBooleanType ImportImagePixels(Image *image,const ssize_t x,
+ const ssize_t y,const size_t width,const size_t height,const char *map,
+ const StorageType type,const void *pixels,ExceptionInfo *exception)
{
QuantumType
*quantum_map;
+ RectangleInfo
+ roi;
+
register ssize_t
i;
/*
Transfer the pixels from the pixel data to the image.
*/
+ roi.width=width;
+ roi.height=height;
+ roi.x=x;
+ roi.y=y;
switch (type)
{
case CharPixel:
{
- ImportCharPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportCharPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case DoublePixel:
{
- ImportDoublePixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportDoublePixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case FloatPixel:
{
- ImportFloatPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportFloatPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case LongPixel:
{
- ImportLongPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportLongPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case LongLongPixel:
{
- ImportLongLongPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportLongLongPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case QuantumPixel:
{
- ImportQuantumPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportQuantumPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
case ShortPixel:
{
- ImportShortPixel(image,x_offset,y_offset,columns,rows,map,quantum_map,
- pixels,exception);
+ ImportShortPixel(image,&roi,map,quantum_map,pixels,exception);
break;
}
default: