(void) WriteBlobLSBLong(image,(unsigned int) image->rows);
(void) WriteBlobLSBLong(image,(unsigned int) image->columns);
- if (compression == FOURCC_DXT1)
- (void) WriteBlobLSBLong(image,
- (unsigned int) (MagickMax(1,(image->columns+3)/4) * 8));
+ if (pixelFormat == DDPF_FOURCC)
+ {
+ if (compression == FOURCC_DXT1)
+ (void) WriteBlobLSBLong(image,
+ (unsigned int) (MagickMax(1,(image->columns+3)/4) * 8));
+ else
+ (void) WriteBlobLSBLong(image,
+ (unsigned int) (MagickMax(1,(image->columns+3)/4) * 16));
+ }
else
- (void) WriteBlobLSBLong(image,
- (unsigned int) (MagickMax(1,(image->columns+3)/4) * 16));
+ {
+ if (image->alpha_trait != UndefinedPixelTrait)
+ (void) WriteBlobLSBLong(image,(unsigned int) (image->columns * 32));
+ else
+ (void) WriteBlobLSBLong(image,(unsigned int) (image->columns * 24));
+ }
(void) WriteBlobLSBLong(image,0x00);
(void) WriteBlobLSBLong(image,(unsigned int) mipmaps+1);
else
{
(void) WriteBlobLSBLong(image,24);
+ (void) WriteBlobLSBLong(image,0xff0000);
+ (void) WriteBlobLSBLong(image,0xff00);
(void) WriteBlobLSBLong(image,0xff);
(void) WriteBlobLSBLong(image,0x00);
- (void) WriteBlobLSBLong(image,0x00);
- (void) WriteBlobLSBLong(image,0x00);
}
}