From: dirk Date: Thu, 29 Jan 2015 21:38:57 +0000 (+0000) Subject: Fixed hasChannel for gray images. X-Git-Tag: 7.0.1-0~1345 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=00ac24b7dadc8fb5447c1b123bda8ff2379e905f;p=imagemagick Fixed hasChannel for gray images. --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 559fc0013..830c7bcf3 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -962,7 +962,13 @@ MagickCore::DisposeType Magick::Image::gifDisposeMethod(void) const bool Magick::Image::hasChannel(const PixelChannel channel) const { - return (GetPixelChannelTraits(constImage(),channel) != UndefinedPixelTrait); + if (GetPixelChannelTraits(constImage(),channel) == UndefinedPixelTrait) + return(false); + + if (channel == GreenPixelChannel || channel == BluePixelChannel) + return (GetPixelChannelOffset(constImage(),channel) == (ssize_t)channel); + + return(true); } void Magick::Image::highlightColor(const Color color_) diff --git a/Magick++/lib/Magick++/Include.h b/Magick++/lib/Magick++/Include.h index 39a269f4a..2fd11fb1b 100644 --- a/Magick++/lib/Magick++/Include.h +++ b/Magick++/lib/Magick++/Include.h @@ -1270,6 +1270,7 @@ namespace Magick using MagickCore::GetNextValueInLinkedList; using MagickCore::GetNumberOfElementsInLinkedList; using MagickCore::GetPixelBlue; + using MagickCore::GetPixelChannelOffset; using MagickCore::GetPixelChannelTraits; using MagickCore::GetPixelGreen; using MagickCore::GetPixelInfo;