if (image->colorspace != CMYKColorspace)
{
(void) ThrowMagickException(exception,GetMagickModule(),ImageError,
- "ColorSeparatedImageRequired","`%s'",image->filename);
+ "ColorSeparatedImageRequired","'%s'",image->filename);
return;
}
switch (quantum_info->depth)
if (image->colorspace != CMYKColorspace)
{
(void) ThrowMagickException(exception,GetMagickModule(),ImageError,
- "ColorSeparatedImageRequired","`%s'",image->filename);
+ "ColorSeparatedImageRequired","'%s'",image->filename);
return;
}
switch (quantum_info->depth)
if (image->colorspace != CMYKColorspace)
{
(void) ThrowMagickException(exception,GetMagickModule(),ImageError,
- "ColorSeparatedImageRequired","`%s'",image->filename);
+ "ColorSeparatedImageRequired","'%s'",image->filename);
return;
}
switch (quantum_info->depth)
{
case 1:
{
- register Quantum
+ register double
threshold;
register unsigned char
black=0x01;
white=0x00;
}
- threshold=(Quantum) (QuantumRange/2);
+ threshold=QuantumRange/2.0;
for (x=((ssize_t) number_pixels-7); x > 0; x-=8)
{
*q='\0';
for (x=0; x < (ssize_t) (number_pixels-1) ; x+=2)
{
- pixel=ScaleQuantumToChar(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToChar(ClampToQuantum(GetPixelIntensity(image,p)));
*q=(((pixel >> 4) & 0xf) << 4);
p+=GetPixelChannels(image);
- pixel=ScaleQuantumToChar(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToChar(ClampToQuantum(GetPixelIntensity(image,p)));
*q|=pixel >> 4;
p+=GetPixelChannels(image);
q++;
}
if ((number_pixels % 2) != 0)
{
- pixel=ScaleQuantumToChar(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToChar(ClampToQuantum(GetPixelIntensity(image,p)));
*q=(((pixel >> 4) & 0xf) << 4);
p+=GetPixelChannels(image);
q++;
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToChar(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToChar(ClampToQuantum(GetPixelIntensity(image,p)));
q=PopCharPixel(pixel,q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
for (x=0; x < (ssize_t) (number_pixels-2); x+=3)
{
- pixel=(unsigned int) (ScaleQuantumToAny(GetPixelIntensity(image,
- p+2*GetPixelChannels(image)),range) << 22 | ScaleQuantumToAny(
- GetPixelIntensity(image,p+GetPixelChannels(image)),range) << 12 |
- ScaleQuantumToAny(GetPixelIntensity(image,p),range) << 2);
+ pixel=(unsigned int) (ScaleQuantumToAny(ClampToQuantum(
+ GetPixelIntensity(image,p+2*GetPixelChannels(image))),range) <<
+ 22 | ScaleQuantumToAny(ClampToQuantum(GetPixelIntensity(image,
+ p+GetPixelChannels(image))),range) << 12 | ScaleQuantumToAny(
+ ClampToQuantum(GetPixelIntensity(image,p)),range) << 2);
q=PopLongPixel(quantum_info->endian,pixel,q);
p+=3*GetPixelChannels(image);
q+=quantum_info->pad;
{
pixel=0U;
if (x++ < (ssize_t) (number_pixels-1))
- pixel|=ScaleQuantumToAny(GetPixelIntensity(image,p+
- GetPixelChannels(image)),range) << 12;
+ pixel|=ScaleQuantumToAny(ClampToQuantum(GetPixelIntensity(image,
+ p+GetPixelChannels(image))),range) << 12;
if (x++ < (ssize_t) number_pixels)
- pixel|=ScaleQuantumToAny(GetPixelIntensity(image,p),range) << 2;
+ pixel|=ScaleQuantumToAny(ClampToQuantum(GetPixelIntensity(image,
+ p)),range) << 2;
q=PopLongPixel(quantum_info->endian,pixel,q);
}
break;
}
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(
- GetPixelIntensity(image,p),range),q);
+ q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(ClampToQuantum(
+ GetPixelIntensity(image,p)),range),q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
}
{
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToShort(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToShort(ClampToQuantum(
+ GetPixelIntensity(image,p)));
q=PopShortPixel(quantum_info->endian,(unsigned short) (pixel >> 4),
q);
p+=GetPixelChannels(image);
}
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(
- GetPixelIntensity(image,p),range),q);
+ q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(ClampToQuantum(
+ GetPixelIntensity(image,p)),range),q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
}
}
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToShort(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToShort(ClampToQuantum(GetPixelIntensity(image,p)));
q=PopShortPixel(quantum_info->endian,pixel,q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
}
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToLong(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToLong(ClampToQuantum(GetPixelIntensity(image,p)));
q=PopLongPixel(quantum_info->endian,pixel,q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
double
pixel;
- pixel=(double) GetPixelIntensity(image,p);
+ pixel=GetPixelIntensity(image,p);
q=PopDoublePixel(quantum_info,pixel,q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
range=GetQuantumRange(quantum_info->depth);
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(
- GetPixelIntensity(image,p),range),q);
+ q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(ClampToQuantum(
+ GetPixelIntensity(image,p)),range),q);
p+=GetPixelChannels(image);
q+=quantum_info->pad;
}
{
case 1:
{
- register Quantum
+ register double
threshold;
register unsigned char
black=0x01;
white=0x00;
}
- threshold=(Quantum) (QuantumRange/2);
+ threshold=QuantumRange/2.0;
for (x=((ssize_t) number_pixels-3); x > 0; x-=4)
{
*q='\0';
for (x=0; x < (ssize_t) number_pixels ; x++)
{
- pixel=ScaleQuantumToChar(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToChar(ClampToQuantum(GetPixelIntensity(image,p)));
*q=(((pixel >> 4) & 0xf) << 4);
pixel=(unsigned char) (16*QuantumScale*GetPixelAlpha(image,p)+0.5);
*q|=pixel & 0xf;
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToChar(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToChar(ClampToQuantum(GetPixelIntensity(image,p)));
q=PopCharPixel(pixel,q);
pixel=ScaleQuantumToChar(GetPixelAlpha(image,p));
q=PopCharPixel(pixel,q);
}
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToShort(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToShort(ClampToQuantum(GetPixelIntensity(image,p)));
q=PopShortPixel(quantum_info->endian,pixel,q);
pixel=ScaleQuantumToShort(GetPixelAlpha(image,p));
q=PopShortPixel(quantum_info->endian,pixel,q);
}
for (x=0; x < (ssize_t) number_pixels; x++)
{
- pixel=ScaleQuantumToLong(GetPixelIntensity(image,p));
+ pixel=ScaleQuantumToLong(ClampToQuantum(GetPixelIntensity(image,p)));
q=PopLongPixel(quantum_info->endian,pixel,q);
pixel=ScaleQuantumToLong(GetPixelAlpha(image,p));
q=PopLongPixel(quantum_info->endian,pixel,q);
double
pixel;
- pixel=(double) GetPixelIntensity(image,p);
+ pixel=GetPixelIntensity(image,p);
q=PopDoublePixel(quantum_info,pixel,q);
pixel=(double) (GetPixelAlpha(image,p));
q=PopDoublePixel(quantum_info,pixel,q);
range=GetQuantumRange(quantum_info->depth);
for (x=0; x < (ssize_t) number_pixels; x++)
{
- q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(
- GetPixelIntensity(image,p),range),q);
+ q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(ClampToQuantum(
+ GetPixelIntensity(image,p)),range),q);
q=PopQuantumPixel(quantum_info,ScaleQuantumToAny(GetPixelAlpha(image,p),
range),q);
p+=GetPixelChannels(image);
if (image->storage_class != PseudoClass)
{
(void) ThrowMagickException(exception,GetMagickModule(),ImageError,
- "ColormappedImageRequired","`%s'",image->filename);
+ "ColormappedImageRequired","'%s'",image->filename);
return;
}
switch (quantum_info->depth)
if (image->storage_class != PseudoClass)
{
(void) ThrowMagickException(exception,GetMagickModule(),ImageError,
- "ColormappedImageRequired","`%s'",image->filename);
+ "ColormappedImageRequired","'%s'",image->filename);
return;
}
switch (quantum_info->depth)
}
if (quantum_info->alpha_type == AssociatedQuantumAlpha)
{
- MagickRealType
+ double
Sa;
register Quantum
register ssize_t
i;
+ if (GetPixelMask(image,q) != 0)
+ {
+ q+=GetPixelChannels(image);
+ continue;
+ }
Sa=QuantumScale*GetPixelAlpha(image,q);
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
PixelTrait
traits;
- channel=GetPixelChannelMapChannel(image,i);
- traits=GetPixelChannelMapTraits(image,channel);
- if ((traits & UpdatePixelTrait) != 0)
- q[i]=ClampToQuantum(Sa*q[i]);
+ channel=GetPixelChannelChannel(image,i);
+ traits=GetPixelChannelTraits(image,channel);
+ if ((traits & UpdatePixelTrait) == 0)
+ continue;
+ q[i]=ClampToQuantum(Sa*q[i]);
}
q+=GetPixelChannels(image);
}