From: cristy Date: Sun, 1 Jan 2012 01:22:59 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~6478 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=af6eb93f6c4778637c09a41eaa5a3e541836a622;p=imagemagick --- diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c index 13718f3db..1b022197a 100644 --- a/MagickCore/pixel.c +++ b/MagickCore/pixel.c @@ -2131,9 +2131,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,ScaleCharToQuantum(*p++),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleCharToQuantum(*p++),q); q+=GetPixelChannels(image); } if (SyncAuthenticPixels(image,exception) == MagickFalse) @@ -2266,9 +2264,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,ScaleCharToQuantum(*p),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleCharToQuantum(*p),q); break; } default: @@ -2377,10 +2373,8 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange* + SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange* (*p)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); p++; q+=GetPixelChannels(image); } @@ -2519,10 +2513,8 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,ClampToQuantum((MagickRealType) + SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange*(*p)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); break; } default: @@ -2631,10 +2623,8 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,ClampToQuantum((MagickRealType) QuantumRange* + SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange* (*p)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); p++; q+=GetPixelChannels(image); } @@ -2773,10 +2763,8 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,ClampToQuantum((MagickRealType) + SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange*(*p)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); break; } default: @@ -2865,9 +2853,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,ScaleLongToQuantum(*p++),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleLongToQuantum(*p++),q); q+=GetPixelChannels(image); } if (SyncAuthenticPixels(image,exception) == MagickFalse) @@ -2980,9 +2966,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,ScaleLongToQuantum(*p),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleLongToQuantum(*p),q); break; } default: @@ -3071,9 +3055,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,ScaleLongToQuantum(*p++),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleLongToQuantum(*p++),q); q+=GetPixelChannels(image); } if (SyncAuthenticPixels(image,exception) == MagickFalse) @@ -3186,9 +3168,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,ScaleLongToQuantum(*p),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleLongToQuantum(*p),q); break; } default: @@ -3277,9 +3257,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,*p++,q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,*p++,q); q+=GetPixelChannels(image); } if (SyncAuthenticPixels(image,exception) == MagickFalse) @@ -3392,9 +3370,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,*p,q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,*p,q); break; } default: @@ -3483,9 +3459,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, break; for (x=0; x < (ssize_t) columns; x++) { - SetPixelRed(image,ScaleShortToQuantum(*p++),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleShortToQuantum(*p++),q); q+=GetPixelChannels(image); } if (SyncAuthenticPixels(image,exception) == MagickFalse) @@ -3598,9 +3572,7 @@ MagickExport MagickBooleanType ImportImagePixels(Image *image, } case IndexQuantum: { - SetPixelRed(image,ScaleShortToQuantum(*p),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleShortToQuantum(*p),q); break; } default: diff --git a/MagickCore/profile.c b/MagickCore/profile.c index 529c505bc..47200cdea 100644 --- a/MagickCore/profile.c +++ b/MagickCore/profile.c @@ -6084,9 +6084,10 @@ MagickExport MagickBooleanType ProfileImage(Image *image,const char *name, q-=image->columns*GetPixelChannels(image); for (x=0; x < (ssize_t) image->columns; x++) { - SetPixelRed(image,ScaleShortToQuantum(*p),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + if (target_channels == 1) + SetPixelGray(image,ScaleShortToQuantum(*p),q); + else + SetPixelRed(image,ScaleShortToQuantum(*p),q); p++; if (target_channels > 1) { diff --git a/MagickCore/quantum-import.c b/MagickCore/quantum-import.c index 91ff45d89..13f16c0aa 100644 --- a/MagickCore/quantum-import.c +++ b/MagickCore/quantum-import.c @@ -550,9 +550,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, else pixel=(unsigned char) (((*p) & (1 << (7-bit))) != 0 ? 0x00 : 0x01); - SetPixelRed(image,(Quantum) (pixel == 0 ? 0 : QuantumRange),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,(Quantum) (pixel == 0 ? 0 : QuantumRange),q); SetPixelAlpha(image,((*p) & (1UL << (unsigned char) (6-bit))) == 0 ? TransparentAlpha : OpaqueAlpha,q); SetPixelIndex(image,(Quantum) (pixel == 0 ? 0 : 1),q); @@ -569,9 +567,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, pixel=(unsigned char) (((*p) & (1 << (7-bit))) != 0 ? 0x00 : 0x01); SetPixelIndex(image,(Quantum) (pixel == 0 ? 0 : 1),q); - SetPixelRed(image,(Quantum) (pixel == 0 ? 0 : QuantumRange),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,(Quantum) (pixel == 0 ? 0 : QuantumRange),q); SetPixelAlpha(image,((*p) & (1UL << (unsigned char) (6-bit))) == 0 ? TransparentAlpha : OpaqueAlpha,q); q+=channels; @@ -1278,20 +1274,16 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, { for (bit=0; bit < 8; bit++) { - SetPixelRed(image,((*p) & (1 << (7-bit))) == 0 ? black : + SetPixelGray(image,((*p) & (1 << (7-bit))) == 0 ? black : white,q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; } p++; } for (bit=0; bit < (ssize_t) (number_pixels % 8); bit++) { - SetPixelRed(image,((*p) & (0x01 << (7-bit))) == 0 ? black : + SetPixelGray(image,((*p) & (0x01 << (7-bit))) == 0 ? black : white,q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; } if (bit != 0) @@ -1307,23 +1299,17 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < ((ssize_t) number_pixels-1); x+=2) { pixel=(unsigned char) ((*p >> 4) & 0xf); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); q+=channels; pixel=(unsigned char) ((*p) & 0xf); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p++; q+=channels; } for (bit=0; bit < (ssize_t) (number_pixels % 2); bit++) { pixel=(unsigned char) (*p++ >> 4); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); q+=channels; } break; @@ -1338,9 +1324,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushCharPixel(p,&pixel); - SetPixelRed(image,ScaleCharToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleCharToQuantum(pixel),q); SetPixelAlpha(image,OpaqueAlpha,q); p+=quantum_info->pad; q+=channels; @@ -1350,9 +1334,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushCharPixel(p,&pixel); - SetPixelRed(image,ScaleCharToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleCharToQuantum(pixel),q); SetPixelAlpha(image,OpaqueAlpha,q); p+=quantum_info->pad; q+=channels; @@ -1369,38 +1351,28 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) (number_pixels-2); x+=3) { p=PushLongPixel(endian,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 2) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 2) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 22) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 22) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); p+=quantum_info->pad; q+=channels; } p=PushLongPixel(endian,p,&pixel); if (x++ < (ssize_t) (number_pixels-1)) { - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 2) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 2) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; } if (x++ < (ssize_t) number_pixels) { - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, - range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 12) & + 0x3ff,range),q); q+=channels; } break; @@ -1408,38 +1380,28 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) (number_pixels-2); x+=3) { p=PushLongPixel(endian,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 22) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 22) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 2) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 2) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); p+=quantum_info->pad; q+=channels; } p=PushLongPixel(endian,p,&pixel); if (x++ < (ssize_t) (number_pixels-1)) { - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 22) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 22) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; } if (x++ < (ssize_t) number_pixels) { - SetPixelRed(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, + SetPixelGray(image,ScaleAnyToQuantum((pixel >> 12) & 0x3ff, range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; } break; @@ -1447,9 +1409,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p+=quantum_info->pad; q+=channels; } @@ -1466,26 +1426,20 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) (number_pixels-1); x+=2) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum((QuantumAny) + SetPixelGray(image,ScaleAnyToQuantum((QuantumAny) (pixel >> 4),range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=channels; p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum( - (QuantumAny) (pixel >> 4),range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum((QuantumAny) (pixel >> 4), + range),q); p+=quantum_info->pad; q+=channels; } for (bit=0; bit < (ssize_t) (number_pixels % 2); bit++) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum( - (QuantumAny) (pixel >> 4),range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum((QuantumAny) (pixel >> 4), + range),q); p+=quantum_info->pad; q+=channels; } @@ -1496,9 +1450,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p+=quantum_info->pad; q+=channels; } @@ -1514,9 +1466,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ScaleShortToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleShortToQuantum(pixel),q); p+=quantum_info->pad; q+=channels; } @@ -1527,10 +1477,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ClampToQuantum((MagickRealType) + SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange*HalfToSinglePrecision(pixel)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); p+=quantum_info->pad; q+=channels; } @@ -1539,9 +1487,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ScaleShortToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleShortToQuantum(pixel),q); p+=quantum_info->pad; q+=channels; } @@ -1560,9 +1506,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushFloatPixel(&quantum_state,p,&pixel); - SetPixelRed(image,ClampToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ClampToQuantum(pixel),q); p+=quantum_info->pad; q+=channels; } @@ -1571,9 +1515,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushLongPixel(endian,p,&pixel); - SetPixelRed(image,ScaleLongToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleLongToQuantum(pixel),q); p+=quantum_info->pad; q+=channels; } @@ -1589,9 +1531,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushDoublePixel(&quantum_state,p,&pixel); - SetPixelRed(image,ClampToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ClampToQuantum(pixel),q); p+=quantum_info->pad; q+=channels; } @@ -1604,9 +1544,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p+=quantum_info->pad; q+=channels; } @@ -1630,9 +1568,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, { pixel=(unsigned char) (((*p) & (1 << (7-bit))) != 0 ? 0x00 : 0x01); - SetPixelRed(image,(Quantum) (pixel == 0 ? 0 : QuantumRange),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,(Quantum) (pixel == 0 ? 0 : QuantumRange),q); SetPixelAlpha(image,((*p) & (1UL << (unsigned char) (6-bit))) == 0 ? TransparentAlpha : OpaqueAlpha,q); q+=channels; @@ -1644,9 +1580,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, { pixel=(unsigned char) (((*p) & (1 << (7-bit))) != 0 ? 0x00 : 0x01); - SetPixelRed(image,(Quantum) (pixel != 0 ? 0 : QuantumRange),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,(Quantum) (pixel != 0 ? 0 : QuantumRange),q); SetPixelAlpha(image,((*p) & (1UL << (unsigned char) (6-bit))) == 0 ? TransparentAlpha : OpaqueAlpha,q); q+=channels; @@ -1664,9 +1598,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { pixel=(unsigned char) ((*p >> 4) & 0xf); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); pixel=(unsigned char) ((*p) & 0xf); SetPixelAlpha(image,ScaleAnyToQuantum(pixel,range),q); p++; @@ -1682,9 +1614,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushCharPixel(p,&pixel); - SetPixelRed(image,ScaleCharToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleCharToQuantum(pixel),q); p=PushCharPixel(p,&pixel); SetPixelAlpha(image,ScaleCharToQuantum(pixel),q); p+=quantum_info->pad; @@ -1698,9 +1628,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); SetPixelAlpha(image,ScaleAnyToQuantum(pixel,range),q); p+=quantum_info->pad; @@ -1714,9 +1642,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); SetPixelAlpha(image,ScaleAnyToQuantum(pixel,range),q); p+=quantum_info->pad; @@ -1734,10 +1660,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ClampToQuantum((MagickRealType) + SetPixelGray(image,ClampToQuantum((MagickRealType) QuantumRange*HalfToSinglePrecision(pixel)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); p=PushShortPixel(endian,p,&pixel); SetPixelAlpha(image,ClampToQuantum((MagickRealType) QuantumRange*HalfToSinglePrecision(pixel)),q); @@ -1749,9 +1673,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushShortPixel(endian,p,&pixel); - SetPixelRed(image,ScaleShortToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleShortToQuantum(pixel),q); p=PushShortPixel(endian,p,&pixel); SetPixelAlpha(image,ScaleShortToQuantum(pixel),q); p+=quantum_info->pad; @@ -1772,9 +1694,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushFloatPixel(&quantum_state,p,&pixel); - SetPixelRed(image,ClampToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ClampToQuantum(pixel),q); p=PushFloatPixel(&quantum_state,p,&pixel); SetPixelAlpha(image,ClampToQuantum(pixel),q); p+=quantum_info->pad; @@ -1785,9 +1705,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushLongPixel(endian,p,&pixel); - SetPixelRed(image,ScaleLongToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleLongToQuantum(pixel),q); p=PushLongPixel(endian,p,&pixel); SetPixelAlpha(image,ScaleLongToQuantum(pixel),q); p+=quantum_info->pad; @@ -1805,9 +1723,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushDoublePixel(&quantum_state,p,&pixel); - SetPixelRed(image,ClampToQuantum(pixel),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ClampToQuantum(pixel),q); p=PushDoublePixel(&quantum_state,p,&pixel); SetPixelAlpha(image,ClampToQuantum(pixel),q); p+=quantum_info->pad; @@ -1822,9 +1738,7 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view, for (x=0; x < (ssize_t) number_pixels; x++) { p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); - SetPixelRed(image,ScaleAnyToQuantum(pixel,range),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum(pixel,range),q); p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel); SetPixelAlpha(image,ScaleAnyToQuantum(pixel,range),q); p+=quantum_info->pad; diff --git a/coders/fits.c b/coders/fits.c index 0f0374c72..e8bc7729b 100644 --- a/coders/fits.c +++ b/coders/fits.c @@ -416,6 +416,7 @@ static Image *ReadFITSImage(const ImageInfo *image_info, fits_info.bits_per_pixel; image->endian=fits_info.endian; image->scene=(size_t) scene; + image->colorspace=GRAYColorspace; if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) if (image->scene >= (image_info->scene+image_info->number_scenes-1)) break; @@ -444,10 +445,8 @@ static Image *ReadFITSImage(const ImageInfo *image_info, for (x=0; x < (ssize_t) image->columns; x++) { pixel=GetFITSPixel(image,fits_info.bits_per_pixel); - SetPixelRed(image,ClampToQuantum(scale*(fits_info.scale* + SetPixelGray(image,ClampToQuantum(scale*(fits_info.scale* (pixel-fits_info.min_data)+fits_info.zero)),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); q+=GetPixelChannels(image); } if (SyncAuthenticPixels(image,exception) == MagickFalse) diff --git a/coders/jp2.c b/coders/jp2.c index fcae3b620..0c74b7a66 100644 --- a/coders/jp2.c +++ b/coders/jp2.c @@ -467,6 +467,8 @@ static Image *ReadJP2Image(const ImageInfo *image_info,ExceptionInfo *exception) image->columns=jas_image_width(jp2_image); image->rows=jas_image_height(jp2_image); image->compression=JPEG2000Compression; + if (number_components == 1) + image->colorspace=GRAYColorspace; for (i=0; i < (ssize_t) number_components; i++) { size_t @@ -538,9 +540,7 @@ static Image *ReadJP2Image(const ImageInfo *image_info,ExceptionInfo *exception) for (x=0; x < (ssize_t) image->columns; x++) { pixel=(QuantumAny) jas_matrix_getv(pixels[0],x/x_step[0]); - SetPixelRed(image,ScaleAnyToQuantum((QuantumAny) pixel,range[0]),q); - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); + SetPixelGray(image,ScaleAnyToQuantum((QuantumAny) pixel,range[0]),q); q+=GetPixelChannels(image); } break; diff --git a/coders/pnm.c b/coders/pnm.c index dfb604248..906b21d43 100644 --- a/coders/pnm.c +++ b/coders/pnm.c @@ -1161,6 +1161,8 @@ static Image *ReadPNMImage(const ImageInfo *image_info,ExceptionInfo *exception) /* Convert PFM raster image to pixel packets. */ + if (format == 'f') + image->colorspace=GRAYColorspace; quantum_type=format == 'f' ? GrayQuantum : RGBQuantum; image->endian=quantum_scale < 0.0 ? LSBEndian : MSBEndian; image->depth=32; diff --git a/coders/psd.c b/coders/psd.c index ff41054b1..602424999 100644 --- a/coders/psd.c +++ b/coders/psd.c @@ -642,10 +642,9 @@ static MagickBooleanType ReadPSDLayer(Image *image,const size_t channels, { SetPixelRed(image,pixel,q); if (channels == 1) - { - SetPixelGreen(image,GetPixelRed(image,q),q); - SetPixelBlue(image,GetPixelRed(image,q),q); - } + SetPixelGray(image,pixel,q); + else + SetPixelRed(image,pixel,q); if (image->storage_class == PseudoClass) { if (packet_size == 1) diff --git a/coders/xcf.c b/coders/xcf.c index fddfc8574..ed6693eb9 100644 --- a/coders/xcf.c +++ b/coders/xcf.c @@ -373,9 +373,7 @@ static MagickBooleanType load_tile(Image *image,Image *tile_image, { for (x=0; x < (ssize_t) tile_image->columns; x++) { - SetPixelRed(tile_image,ScaleCharToQuantum(*graydata),q); - SetPixelGreen(tile_image,GetPixelRed(image,q),q); - SetPixelBlue(tile_image,GetPixelRed(image,q),q); + SetPixelGray(tile_image,ScaleCharToQuantum(*graydata),q); SetPixelAlpha(tile_image,ScaleCharToQuantum((unsigned char) inLayerInfo->alpha),q); graydata++; @@ -471,9 +469,9 @@ static MagickBooleanType load_tile_rle(Image *image,Image *tile_image, { case 0: { - SetPixelRed(tile_image,ScaleCharToQuantum(data),q); - if (inDocInfo->image_type == GIMP_GRAY) + if (inDocInfo->image_type != GIMP_GRAY) { + SetPixelRed(tile_image,ScaleCharToQuantum(data),q); SetPixelGreen(tile_image,ScaleCharToQuantum(data),q); SetPixelBlue(tile_image,ScaleCharToQuantum(data),q); SetPixelAlpha(tile_image,ScaleCharToQuantum( @@ -481,8 +479,7 @@ static MagickBooleanType load_tile_rle(Image *image,Image *tile_image, } else { - SetPixelGreen(tile_image,GetPixelRed(image,q),q); - SetPixelBlue(tile_image,GetPixelRed(image,q),q); + SetPixelGray(tile_image,ScaleCharToQuantum(data),q); SetPixelAlpha(tile_image,ScaleCharToQuantum( (unsigned char) inLayerInfo->alpha),q); } @@ -531,9 +528,9 @@ static MagickBooleanType load_tile_rle(Image *image,Image *tile_image, { case 0: { - SetPixelRed(tile_image,ScaleCharToQuantum(data),q); - if (inDocInfo->image_type == GIMP_GRAY) + if (inDocInfo->image_type != GIMP_GRAY) { + SetPixelRed(tile_image,ScaleCharToQuantum(data),q); SetPixelGreen(tile_image,ScaleCharToQuantum(data),q); SetPixelBlue(tile_image,ScaleCharToQuantum(data),q); SetPixelAlpha(tile_image,ScaleCharToQuantum( @@ -541,8 +538,7 @@ static MagickBooleanType load_tile_rle(Image *image,Image *tile_image, } else { - SetPixelGreen(tile_image,GetPixelRed(image,q),q); - SetPixelBlue(tile_image,GetPixelRed(image,q),q); + SetPixelGray(tile_image,ScaleCharToQuantum(data),q); SetPixelAlpha(tile_image,ScaleCharToQuantum( (unsigned char) inLayerInfo->alpha),q); }