« 贴图的合并 | 返回首页 | 读了一本书 »

做了个 tga 查看器

大部分看图软件显示 tga 文件的时候都忽略掉了 alpha 通道,而游戏开发过程中,经常会用到 tga 文件中的通道。晚上写了个小程序,用于查看 tga 文件,并同时显示其通道。程序很小,只有 16k。tga 的解码是临时用 c 写的,对 tga 的一些偏门格式没支持。

tga 查看器

本软件可以在不修改本身的情况下自由传播和使用。

Comments

嗯, 10是RLE压缩的, 我也发现有些bug, 正准备发帖, 谁知道你自己发现了.

还是要感谢一下你做的这个小工具, 用PS看到的通道和真正的通道还不是一回事, 所以这个东西我也很需要:) 让我对某些图片有了新的认识(其实一直想做个32bit BMP的编辑工具, 就是懒).

其实原理都懂, 就是懒得动手, 我想很多人也跟我一样(眼高手低就是这样养成的 :( )

所以为你鼓掌一下, 别介意哦, 测试通过

纠正一下: 32bit BMP是不用4字节对齐的

2 和 10 的都支持了,24/32 bit 或者是从上向下,从下向上都可以支持。昨天晚上的版本对齐问题上有 bug 所以有的图显示不正常。现在已经改过来了。

没支持的是调色盘模式。

没啥神秘的,就是写个程序方便用而已。

其实常规的TGA格式(格式2)很简单, 一般考虑ColormapType=2或10的格式就可以了.

3DS MAX的tga格式貌似就是ColormapType=10的, 云风的没实现

(这里因为用到alpha通道, 所以都是对32bit深度而言)

tga文件头定义:
<pre>
struct TargaHeader
{
BYTE IDLength;
BYTE ColormapType;
BYTE ImageType;
BYTE ColormapSpecification[5];
WORD XOrigin;
WORD YOrigin;
WORD ImageWidth;
WORD ImageHeight;
BYTE PixelDepth;
BYTE ImageDescriptor;
} tga;
</pre>

后面紧跟的就是BGRA格式的数据(即蓝,绿,红,Alpha)

其实DX的例子里有这样的LoadTgaFile()函数, 可以参考一下, 云风没必要搞得那么神秘吧=.=.

个人认为他比32bit带alpha的Bitmap格式还要简单, 至少不要4字节对齐 :(

Post a comment

非这个主题相关的留言请到:留言本