]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 21 May 2011 23:43:28 +0000 (23:43 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 21 May 2011 23:43:28 +0000 (23:43 +0000)
magick/image.c
magick/quantum-import.c

index 377599b55cf541a01e8b114d791c4061161de50c..fb270c994b059947342bbe5071de2fb78b50b14e 100644 (file)
@@ -4276,9 +4276,6 @@ MagickExport MagickBooleanType SyncImage(Image *image)
     IndexPacket
       index;
 
-    PixelPacket
-      pixel;
-
     register IndexPacket
       *restrict indexes;
 
@@ -4301,12 +4298,10 @@ MagickExport MagickBooleanType SyncImage(Image *image)
     {
       index=PushColormapIndex(image,(size_t) GetIndexPixelComponent(indexes+x),
         &range_exception);
-      pixel=image->colormap[(ssize_t) index];
-      SetRedPixelComponent(q,pixel.red);
-      SetGreenPixelComponent(q,pixel.green);
-      SetBluePixelComponent(q,pixel.blue);
-      if (image->matte != MagickFalse)
-        SetOpacityPixelComponent(q,pixel.opacity);
+      if (image->matte == MagickFalse)
+        SetRGBPixelComponent(q,image->colormap+index)
+      else
+        SetRGBOPixelComponent(q,image->colormap+index);
       q++;
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
index 8af104837b5e41db44b9f26e2e141b10b469c252..5231cdf85f6ed4e9cb561d4323e9666fc9617fc0 100644 (file)
@@ -384,7 +384,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
             pixel=(unsigned char) ((*p) & 0xf);
             SetIndexPixelComponent(indexes+x+1,PushColormapIndex(image,pixel,
               &range_exception));
-            *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x+1)];
+            SetRGBOPixelComponent(q,image->colormap+
+              GetIndexPixelComponent(indexes+x+1));
             p++;
             q++;
           }
@@ -589,7 +590,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
             pixel=(unsigned char) ((*p >> 4) & 0xf);
             SetIndexPixelComponent(indexes+x,PushColormapIndex(image,pixel,
               &range_exception));
-            *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+            SetRGBOPixelComponent(q,image->colormap+
+              GetIndexPixelComponent(indexes+x));
             pixel=(unsigned char) ((*p) & 0xf);
             SetOpacityPixelComponent(q,QuantumRange-ScaleAnyToQuantum(pixel,
               range));
@@ -608,7 +610,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
             p=PushCharPixel(p,&pixel);
             SetIndexPixelComponent(indexes+x,PushColormapIndex(image,pixel,
               &range_exception));
-            *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+            SetRGBOPixelComponent(q,image->colormap+
+              GetIndexPixelComponent(indexes+x));
             p=PushCharPixel(p,&pixel);
             SetOpacityPixelComponent(q,QuantumRange-ScaleCharToQuantum(pixel));
             p+=quantum_info->pad;
@@ -629,7 +632,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
                 SetIndexPixelComponent(indexes+x,PushColormapIndex(image,
                   ClampToQuantum((MagickRealType) QuantumRange*
                   HalfToSinglePrecision(pixel)),&range_exception));
-                *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+                SetRGBOPixelComponent(q,image->colormap+
+                  GetIndexPixelComponent(indexes+x));
                 p=PushShortPixel(endian,p,&pixel);
                 SetOpacityPixelComponent(q,QuantumRange-ClampToQuantum(
                   (MagickRealType) QuantumRange*HalfToSinglePrecision(pixel)));
@@ -643,7 +647,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
             p=PushShortPixel(endian,p,&pixel);
             SetIndexPixelComponent(indexes+x,PushColormapIndex(image,pixel,
               &range_exception));
-            *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+            SetRGBOPixelComponent(q,image->colormap+
+              GetIndexPixelComponent(indexes+x));
             p=PushShortPixel(endian,p,&pixel);
             SetOpacityPixelComponent(q,QuantumRange-ScaleShortToQuantum(pixel));
             p+=quantum_info->pad;
@@ -666,7 +671,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
                 p=PushFloatPixel(&quantum_state,p,&pixel);
                 SetIndexPixelComponent(indexes+x,PushColormapIndex(image,
                   ClampToQuantum(pixel),&range_exception));
-                *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+                SetRGBOPixelComponent(q,image->colormap+
+                  GetIndexPixelComponent(indexes+x));
                 p=PushFloatPixel(&quantum_state,p,&pixel);
                 SetOpacityPixelComponent(q,QuantumRange-ClampToQuantum(pixel));
                 p+=quantum_info->pad;
@@ -679,7 +685,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
             p=PushLongPixel(endian,p,&pixel);
             SetIndexPixelComponent(indexes+x,PushColormapIndex(image,pixel,
               &range_exception));
-            *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+            SetRGBOPixelComponent(q,image->colormap+
+              GetIndexPixelComponent(indexes+x));
             p=PushLongPixel(endian,p,&pixel);
             SetOpacityPixelComponent(q,QuantumRange-ScaleLongToQuantum(pixel));
             p+=quantum_info->pad;
@@ -699,7 +706,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
                 p=PushDoublePixel(&quantum_state,p,&pixel);
                 SetIndexPixelComponent(indexes+x,PushColormapIndex(image,
                   ClampToQuantum(pixel),&range_exception));
-                *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+                SetRGBOPixelComponent(q,image->colormap+
+                  GetIndexPixelComponent(indexes+x));
                 p=PushDoublePixel(&quantum_state,p,&pixel);
                 SetOpacityPixelComponent(q,QuantumRange-ClampToQuantum(pixel));
                 p+=quantum_info->pad;
@@ -716,7 +724,8 @@ MagickExport size_t ImportQuantumPixels(Image *image,CacheView *image_view,
             p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel);
             SetIndexPixelComponent(indexes+x,PushColormapIndex(image,pixel,
               &range_exception));
-            *q=image->colormap[(ssize_t) GetIndexPixelComponent(indexes+x)];
+            SetRGBOPixelComponent(q,image->colormap+
+              GetIndexPixelComponent(indexes+x));
             p=PushQuantumPixel(&quantum_state,image->depth,p,&pixel);
             SetOpacityPixelComponent(q,QuantumRange-ScaleAnyToQuantum(pixel,
               range));