diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c
index 5ed216f..af3e7c1 100644
--- a/MagickCore/pixel.c
+++ b/MagickCore/pixel.c
@@ -308,8 +308,8 @@
%
% 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:
@@ -318,16 +318,16 @@
%
% 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.
@@ -350,8 +350,7 @@
%
*/
-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)
{
@@ -370,12 +369,12 @@
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));
@@ -387,12 +386,12 @@
}
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));
@@ -405,12 +404,12 @@
}
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));
@@ -423,12 +422,12 @@
}
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);
@@ -438,12 +437,12 @@
}
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));
@@ -455,12 +454,12 @@
}
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));
@@ -473,12 +472,12 @@
}
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));
@@ -489,12 +488,12 @@
}
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;
@@ -553,8 +552,7 @@
}
}
-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)
{
@@ -573,12 +571,12 @@
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));
@@ -590,12 +588,12 @@
}
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));
@@ -608,12 +606,12 @@
}
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));
@@ -626,12 +624,12 @@
}
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);
@@ -641,12 +639,12 @@
}
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));
@@ -658,12 +656,12 @@
}
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));
@@ -676,12 +674,12 @@
}
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));
@@ -692,12 +690,12 @@
}
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;
@@ -757,8 +755,7 @@
}
}
-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)
{
@@ -777,12 +774,12 @@
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));
@@ -794,12 +791,12 @@
}
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));
@@ -812,12 +809,12 @@
}
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));
@@ -830,12 +827,12 @@
}
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);
@@ -845,12 +842,12 @@
}
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));
@@ -862,12 +859,12 @@
}
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));
@@ -880,12 +877,12 @@
}
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));
@@ -896,12 +893,12 @@
}
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;
@@ -960,8 +957,7 @@
}
}
-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)
{
@@ -980,12 +976,12 @@
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));
@@ -997,12 +993,12 @@
}
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));
@@ -1015,12 +1011,12 @@
}
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));
@@ -1033,12 +1029,12 @@
}
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);
@@ -1048,12 +1044,12 @@
}
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));
@@ -1065,12 +1061,12 @@
}
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));
@@ -1083,12 +1079,12 @@
}
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));
@@ -1099,12 +1095,12 @@
}
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;
@@ -1163,8 +1159,7 @@
}
}
-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)
{
@@ -1183,12 +1178,12 @@
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));
@@ -1200,12 +1195,12 @@
}
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));
@@ -1218,12 +1213,12 @@
}
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));
@@ -1236,12 +1231,12 @@
}
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);
@@ -1251,12 +1246,12 @@
}
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));
@@ -1268,12 +1263,12 @@
}
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));
@@ -1286,12 +1281,12 @@
}
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));
@@ -1302,12 +1297,12 @@
}
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;
@@ -1366,8 +1361,7 @@
}
}
-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)
{
@@ -1386,12 +1380,12 @@
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);
@@ -1403,12 +1397,12 @@
}
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);
@@ -1421,12 +1415,12 @@
}
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);
@@ -1439,12 +1433,12 @@
}
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);
@@ -1454,12 +1448,12 @@
}
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);
@@ -1471,12 +1465,12 @@
}
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);
@@ -1489,12 +1483,12 @@
}
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);
@@ -1505,12 +1499,12 @@
}
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;
@@ -1572,8 +1566,7 @@
}
}
-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)
{
@@ -1592,12 +1585,12 @@
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));
@@ -1609,12 +1602,12 @@
}
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));
@@ -1627,12 +1620,12 @@
}
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));
@@ -1645,12 +1638,12 @@
}
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);
@@ -1660,12 +1653,12 @@
}
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));
@@ -1677,12 +1670,12 @@
}
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));
@@ -1695,12 +1688,12 @@
}
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));
@@ -1711,12 +1704,12 @@
}
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;
@@ -1776,13 +1769,15 @@
}
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;
@@ -1897,48 +1892,45 @@
}
}
}
+ 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:
@@ -2013,7 +2005,8 @@
% 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:
@@ -2022,16 +2015,16 @@
%
% 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.
@@ -2054,8 +2047,7 @@
%
*/
-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)
{
@@ -2074,12 +2066,12 @@
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);
@@ -2093,12 +2085,12 @@
}
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);
@@ -2113,12 +2105,12 @@
}
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);
@@ -2133,12 +2125,12 @@
}
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);
@@ -2153,12 +2145,12 @@
}
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);
@@ -2170,12 +2162,12 @@
}
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);
@@ -2189,12 +2181,12 @@
}
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);
@@ -2209,12 +2201,12 @@
}
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);
@@ -2229,12 +2221,12 @@
}
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);
@@ -2247,12 +2239,12 @@
}
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;
@@ -2311,8 +2303,7 @@
}
}
-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)
{
@@ -2331,12 +2322,12 @@
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);
@@ -2356,12 +2347,12 @@
}
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);
@@ -2384,12 +2375,12 @@
}
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);
@@ -2410,12 +2401,12 @@
}
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);
@@ -2429,12 +2420,12 @@
}
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);
@@ -2454,12 +2445,12 @@
}
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);
@@ -2482,12 +2473,12 @@
}
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);
@@ -2505,12 +2496,12 @@
}
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;
@@ -2576,8 +2567,7 @@
}
}
-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)
{
@@ -2596,12 +2586,12 @@
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);
@@ -2621,12 +2611,12 @@
}
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);
@@ -2649,12 +2639,12 @@
}
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);
@@ -2675,12 +2665,12 @@
}
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);
@@ -2694,12 +2684,12 @@
}
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);
@@ -2719,12 +2709,12 @@
}
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);
@@ -2747,12 +2737,12 @@
}
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);
@@ -2770,12 +2760,12 @@
}
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;
@@ -2841,8 +2831,7 @@
}
}
-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)
{
@@ -2861,12 +2850,12 @@
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);
@@ -2880,12 +2869,12 @@
}
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);
@@ -2900,12 +2889,12 @@
}
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);
@@ -2920,12 +2909,12 @@
}
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);
@@ -2937,12 +2926,12 @@
}
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);
@@ -2956,12 +2945,12 @@
}
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);
@@ -2976,12 +2965,12 @@
}
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);
@@ -2994,12 +2983,12 @@
}
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;
@@ -3058,8 +3047,7 @@
}
}
-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)
{
@@ -3078,12 +3066,12 @@
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);
@@ -3097,12 +3085,12 @@
}
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);
@@ -3117,12 +3105,12 @@
}
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);
@@ -3137,12 +3125,12 @@
}
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);
@@ -3154,12 +3142,12 @@
}
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);
@@ -3173,12 +3161,12 @@
}
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);
@@ -3193,12 +3181,12 @@
}
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);
@@ -3211,12 +3199,12 @@
}
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;
@@ -3275,8 +3263,7 @@
}
}
-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)
{
@@ -3295,12 +3282,12 @@
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);
@@ -3314,12 +3301,12 @@
}
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);
@@ -3334,12 +3321,12 @@
}
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);
@@ -3354,12 +3341,12 @@
}
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);
@@ -3371,12 +3358,12 @@
}
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);
@@ -3390,12 +3377,12 @@
}
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);
@@ -3410,12 +3397,12 @@
}
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);
@@ -3428,12 +3415,12 @@
}
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;
@@ -3492,8 +3479,7 @@
}
}
-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)
{
@@ -3512,12 +3498,12 @@
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);
@@ -3531,12 +3517,12 @@
}
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);
@@ -3551,12 +3537,12 @@
}
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);
@@ -3571,12 +3557,12 @@
}
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);
@@ -3588,12 +3574,12 @@
}
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);
@@ -3607,12 +3593,12 @@
}
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);
@@ -3627,12 +3613,12 @@
}
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);
@@ -3645,12 +3631,12 @@
}
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;
@@ -3709,14 +3695,16 @@
}
}
-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;
@@ -3822,48 +3810,45 @@
/*
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: