Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何判断Targa是否来自Photoshop?_C++_Photoshop_File Format_Tga - Fatal编程技术网

C++ 如何判断Targa是否来自Photoshop?

C++ 如何判断Targa是否来自Photoshop?,c++,photoshop,file-format,tga,C++,Photoshop,File Format,Tga,我在尝试编写*.tga文件读取器时遇到了一个问题。对于32位targas,photoshop用255填充alpha通道,这仍然是标准的,并且可以工作,但是在16位targas中,photoshop用零填充alpha通道 有没有什么方法可以告诉我Targa来自Photoshop,这样我就可以用1s填充alpha位?Targa文件格式的2.0版包含一个所谓的扩展区域,其中有一个软件ID字段。此字段包含创建文件的应用程序的名称 也许您可以检查Photoshop是否生成2.0版Targa文件,以及它是否

我在尝试编写*.tga文件读取器时遇到了一个问题。对于32位targas,photoshop用255填充alpha通道,这仍然是标准的,并且可以工作,但是在16位targas中,photoshop用零填充alpha通道

有没有什么方法可以告诉我Targa来自Photoshop,这样我就可以用1s填充alpha位?

Targa文件格式的2.0版包含一个所谓的扩展区域,其中有一个软件ID字段。此字段包含创建文件的应用程序的名称

也许您可以检查Photoshop是否生成2.0版Targa文件,以及它是否写入此特定字段的软件ID,然后在应用程序中检查此ID


由于Targa 1.0文件格式没有这样的字段,我不确定是否可以检测Photoshop。

如果检查alpha通道是否包含0位,如果包含0位,则将其设置为1会怎么样?因为如果有人加载实际使用alpha通道的16位图像,则可能会中断,他很少使用alpha通道将所有像素设置为零alpha,是吗?我希望有一种方法是100%可靠的1x1透明图像就是这样,但除此之外,这是可行的。谢谢,但是图像数据之后没有存储任何信息=/如果photoshop不打算使用alpha,它们不应该以15的深度保存这些图像吗?