]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 1 Jan 2012 01:22:59 +0000 (01:22 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 1 Jan 2012 01:22:59 +0000 (01:22 +0000)
MagickCore/pixel.c
MagickCore/profile.c
MagickCore/quantum-import.c
coders/fits.c
coders/jp2.c
coders/pnm.c
coders/psd.c
coders/xcf.c

index 13718f3db17e402f10fac3e30c7f524fbc7380ff..1b022197a393c96b3d25340a9dff0e788427d3b0 100644 (file)
@@ -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:
index 529c505bc7b4e53b824a496a10964decf5eab840..47200cdea4ba787c449a87b816af50bfef788eab 100644 (file)
@@ -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)
                   {
index 91ff45d895e08f2e57ecdcffb095ab3197bfe6fa..13f16c0aab39d5a0872f3480e7dbba6cc16e89a8 100644 (file)
@@ -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;
index 0f0374c721b3035495cf5dbee1640c44135c44f1..e8bc7729b884f0fc4fa94aca178abd39dbebf8c6 100644 (file)
@@ -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)
index fcae3b620b4aebe93165770c0264f0353d6e6813..0c74b7a667417f3e58150800aae5ebe6916f73fd 100644 (file)
@@ -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;
index dfb604248987dbc29bbf5568bad2b977cb228004..906b21d437dad68c7cb4b6ab07625f9315dbb8a0 100644 (file)
@@ -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;
index ff41054b16056bd36702f11755080b63028ce210..60242499995422b2291a5ac4f7c9c6a8cc2f78b1 100644 (file)
@@ -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)
index fddfc85744e6b076184e77a35f7890b5c49561d4..ed6693eb98f72c3884b3269aceacfb3747a0e1f5 100644 (file)
@@ -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);
                     }