offset_bits,
size;
- ssize_t
+ int
width,
height;
static MagickBooleanType DecodeImage(Image *image,const size_t compression,
unsigned char *pixels)
{
- int
- count;
-
register ssize_t
i,
x;
*q;
ssize_t
+ count,
y;
unsigned char
{
if ((p < pixels) || (p >= q))
break;
- count=ReadBlobByte(image);
- if (count == EOF)
+ count=(ssize_t) ReadBlobByte(image);
+ if ((int) count == EOF)
break;
if (count != 0)
{
/*
Encoded mode.
*/
- count=MagickMin(count,(int) (q-p));
+ count=MagickMin(count,(ssize_t) (q-p));
byte=(unsigned char) ReadBlobByte(image);
if (compression == BI_RLE8)
{
/*
Escape mode.
*/
- count=ReadBlobByte(image);
+ count=(ssize_t) ReadBlobByte(image);
if (count == 0x01)
return(MagickTrue);
switch (count)
/*
Absolute mode.
*/
- count=MagickMin(count,(int) (q-p));
+ count=MagickMin(count,(ssize_t) (q-p));
if (compression == BI_RLE8)
for (i=0; i < count; i++)
*p++=(unsigned char) ReadBlobByte(image);
}
}
}
- if (SetImageProgress(image,LoadImageTag,y,image->rows) == MagickFalse)
+ if (SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,image->rows) == MagickFalse)
break;
}
(void) ReadBlobByte(image); /* end of line */
default:
ThrowReaderException(CorruptImageError,"UnrecognizedImageCompression");
}
- image->columns=(size_t) MagickAbsoluteValue(bmp_info.width);
- image->rows=(size_t) MagickAbsoluteValue(bmp_info.height);
+ image->columns=(size_t) MagickAbsoluteValue((ssize_t) bmp_info.width);
+ image->rows=(size_t) MagickAbsoluteValue((ssize_t) bmp_info.height);
image->depth=bmp_info.bits_per_pixel <= 8 ? bmp_info.bits_per_pixel : 8;
image->alpha_trait=(bmp_info.alpha_mask != 0) &&
(bmp_info.compression == BI_BITFIELDS) ? BlendPixelTrait :
p=bmp_colormap;
for (i=0; i < (ssize_t) image->colors; i++)
{
- image->colormap[i].blue=ScaleCharToQuantum(*p++);
- image->colormap[i].green=ScaleCharToQuantum(*p++);
- image->colormap[i].red=ScaleCharToQuantum(*p++);
+ image->colormap[i].blue=(MagickRealType) ScaleCharToQuantum(*p++);
+ image->colormap[i].green=(MagickRealType) ScaleCharToQuantum(*p++);
+ image->colormap[i].red=(MagickRealType) ScaleCharToQuantum(*p++);
if (packet_size == 4)
p++;
}
if (bmp_info.compression == BI_RGB)
{
bmp_info.alpha_mask=image->alpha_trait == BlendPixelTrait ?
- 0xff000000L : 0L;
+ 0xff000000U : 0U;
bmp_info.red_mask=0x00ff0000U;
bmp_info.green_mask=0x0000ff00U;
bmp_info.blue_mask=0x000000ffU;
sample=shift.red;
while (((bmp_info.red_mask << sample) & 0x80000000UL) != 0)
sample++;
- quantum_bits.red=(Quantum) (sample-shift.red);
+ quantum_bits.red=(MagickRealType) (sample-shift.red);
sample=shift.green;
while (((bmp_info.green_mask << sample) & 0x80000000UL) != 0)
sample++;
- quantum_bits.green=(Quantum) (sample-shift.green);
+ quantum_bits.green=(MagickRealType) (sample-shift.green);
sample=shift.blue;
while (((bmp_info.blue_mask << sample) & 0x80000000UL) != 0)
sample++;
- quantum_bits.blue=(Quantum) (sample-shift.blue);
+ quantum_bits.blue=(MagickRealType) (sample-shift.blue);
sample=shift.alpha;
while (((bmp_info.alpha_mask << sample) & 0x80000000UL) != 0)
sample++;
- quantum_bits.alpha=(Quantum) (sample-shift.alpha);
+ quantum_bits.alpha=(MagickRealType) (sample-shift.alpha);
}
switch (bmp_info.bits_per_pixel)
{
bmp_info.file_size+=extra_size;
bmp_info.offset_bits+=extra_size;
}
- bmp_info.width=(ssize_t) image->columns;
- bmp_info.height=(ssize_t) image->rows;
+ bmp_info.width=(int) image->columns;
+ bmp_info.height=(int) image->rows;
bmp_info.planes=1;
bmp_info.image_size=(unsigned int) (bytes_per_line*image->rows);
bmp_info.file_size+=bmp_info.image_size;
}
case 4:
{
+ ssize_t
+ offset;
+
size_t
byte,
- nibble,
- offset;
+ nibble;
/*
Convert PseudoClass image to a BMP monochrome image.
q=bmp_colormap;
for (i=0; i < (ssize_t) MagickMin((ssize_t) image->colors,(ssize_t) bmp_info.number_colors); i++)
{
- *q++=ScaleQuantumToChar(image->colormap[i].blue);
- *q++=ScaleQuantumToChar(image->colormap[i].green);
- *q++=ScaleQuantumToChar(image->colormap[i].red);
+ *q++=ScaleQuantumToChar(ClampToQuantum(image->colormap[i].blue));
+ *q++=ScaleQuantumToChar(ClampToQuantum(image->colormap[i].green));
+ *q++=ScaleQuantumToChar(ClampToQuantum(image->colormap[i].red));
if (type > 2)
*q++=(unsigned char) 0x0;
}