]> granicus.if.org Git - imagemagick/blobdiff - magick/attribute.c
(no commit message)
[imagemagick] / magick / attribute.c
index 97777c2d57f94ed7f12036f345e9c54f4b8d553f..8378d460c365704551cb3826c065595c8ea2198d 100644 (file)
@@ -276,7 +276,7 @@ MagickExport RectangleInfo GetImageBoundingBox(const Image *image,
 */
 MagickExport size_t GetImageDepth(const Image *image,ExceptionInfo *exception)
 {
-  return(GetImageChannelDepth(image,AllChannels,exception));
+  return(GetImageChannelDepth(image,CompositeChannels,exception));
 }
 
 MagickExport size_t GetImageChannelDepth(const Image *image,
@@ -415,8 +415,9 @@ MagickExport size_t GetImageChannelDepth(const Image *image,
             ScaleQuantumToAny(GetOpacityPixelComponent(p),range),range);
         if (((channel & IndexChannel) != 0) &&
             (image->colorspace == CMYKColorspace))
-          status|=indexes[x] != ScaleAnyToQuantum(ScaleQuantumToAny(
-            GetIndexPixelComponent(indexes+x),range),range);
+          status|=GetIndexPixelComponent(indexes+x) !=
+            ScaleAnyToQuantum(ScaleQuantumToAny(GetIndexPixelComponent(indexes+
+            x),range),range);
         if (status == 0)
           break;
         current_depth[id]++;
@@ -819,7 +820,7 @@ MagickExport MagickBooleanType IsOpaqueImage(const Image *image,
 MagickExport MagickBooleanType SetImageDepth(Image *image,
   const size_t depth)
 {
-  return(SetImageChannelDepth(image,AllChannels,depth));
+  return(SetImageChannelDepth(image,CompositeChannels,depth));
 }
 
 MagickExport MagickBooleanType SetImageChannelDepth(Image *image,
@@ -884,16 +885,21 @@ MagickExport MagickBooleanType SetImageChannelDepth(Image *image,
     for (x=0; x < (ssize_t) image->columns; x++)
     {
       if ((channel & RedChannel) != 0)
-        q->red=ScaleAnyToQuantum(ScaleQuantumToAny(q->red,range),range);
+        SetRedPixelComponent(q,ScaleAnyToQuantum(ScaleQuantumToAny(
+          GetRedPixelComponent(q),range),range));
       if ((channel & GreenChannel) != 0)
-        q->green=ScaleAnyToQuantum(ScaleQuantumToAny(q->green,range),range);
+        SetGreenPixelComponent(q,ScaleAnyToQuantum(ScaleQuantumToAny(
+          GetGreenPixelComponent(q),range),range));
       if ((channel & BlueChannel) != 0)
-        q->blue=ScaleAnyToQuantum(ScaleQuantumToAny(q->blue,range),range);
+        SetBluePixelComponent(q,ScaleAnyToQuantum(ScaleQuantumToAny(
+          GetBluePixelComponent(q),range),range));
       if (((channel & OpacityChannel) != 0) && (image->matte != MagickFalse))
-        q->opacity=ScaleAnyToQuantum(ScaleQuantumToAny(q->opacity,range),range);
+        SetOpacityPixelComponent(q,ScaleAnyToQuantum(ScaleQuantumToAny(
+          GetOpacityPixelComponent(q),range),range));
       if (((channel & IndexChannel) != 0) &&
           (image->colorspace == CMYKColorspace))
-        indexes[x]=ScaleAnyToQuantum(ScaleQuantumToAny(GetIndexPixelComponent(indexes+x),range),range);
+        SetIndexPixelComponent(indexes+x,ScaleAnyToQuantum(ScaleQuantumToAny(
+          GetIndexPixelComponent(indexes+x),range),range));
       q++;
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)