[Imtoolkit-users] Supporting Alpha in TGA files.
Brought to you by:
scuri
From: Nicolas N. <ni...@no...> - 2010-08-12 20:10:24
|
Hello, I recently was surprised to discover that IM doesn't support writing TGA files that include an Alpha channel. I wrote a very simple patch for it, and it seems to be working fine, so I figured I'd share it. Cheers, -- Nicolas Noble --- im/src/im_format_tga.cpp<http://git.grumpycoder.net/cgi-bin/gitweb.cgi?p=lua-modules-iup;a=blob;f=im/src/im_format_tga.cpp;h=7c24a28a8d5f1ea1a500cba12b1534af0607006e> +++ im/src/im_format_tga.cpp<http://git.grumpycoder.net/cgi-bin/gitweb.cgi?p=lua-modules-iup;a=blob;f=im/src/im_format_tga.cpp;h=f15b25f0a91d61c4c32a370e712f0532a884375e;hb=0a44ec3515eb9f7d2bed08cad79dff4d7524d818> @@ -475,7<http://git.grumpycoder.net/cgi-bin/gitweb.cgi?p=lua-modules-iup;a=blob;f=im/src/im_format_tga.cpp;h=7c24a28a8d5f1ea1a500cba12b1534af0607006e#l475> +475,13<http://git.grumpycoder.net/cgi-bin/gitweb.cgi?p=lua-modules-iup;a=blob;f=im/src/im_format_tga.cpp;h=f15b25f0a91d61c4c32a370e712f0532a884375e;hb=0a44ec3515eb9f7d2bed08cad79dff4d7524d818#l475>@@ int imFileFormatTGA::WriteImageInfo() this->image_type = 1; break; case IM_RGB: - this->bpp = 24; + if (imColorModeHasAlpha(this->user_color_mode)) + { + this->bpp = 32; + this->file_color_mode |= IM_ALPHA; + } + else + this->bpp = 24; this->file_color_mode |= IM_PACKED; if (imStrEqual(this->compression, "RLE")) this->image_type = 10; |