二进制图像扩展?

问题描述:

当我们将图像转换为二进制数据时(假设是一个.png图像),有没有办法在.net中再次将二进制文件转换为图像时返回该扩展名?二进制图像扩展?

+0

你想检查文件格式任何然后给它一个合适的扩展名,或者你想恢复原来的扩展名?第一种对于大多数图像格式是可能的,因为它们以魔术字节开始,指示格式。但它不会告诉你一个文件最初是否具有'.jpg'或'.jpeg'扩展名,或者它是否是一个完全不同的扩展名的jpeg文件。 – CodesInChaos 2012-04-03 10:28:47

+0

我想恢复原来的扩展名? – ward87 2012-04-03 10:30:54

+0

是什么阻止您将文件名与图像数据一起存储?文件在哪里存储? – shambulator 2012-04-03 10:33:53

简答题,没有。你也无法得到名字。文件名通常不存储在图像数据中。

如果您知道图像格式是什么,您可以在系统上使用注册到该文件类型的合理的,通常认可的扩展名或文件扩展名。希望这些不会有所不同。

如果您不知道格式,或许您可以在序列化为二进制文件之前将其读取并将其前缀添加到表示中。

对于较不一般的答案,请扩展您的问题。

编辑

我想你可以尝试显示使用一组潜在的格式的图像,然后直观地评估所有成功的解码,以选择正确的格式。不知何故,在二进制序列化中包含原始扩展名似乎更容易。