C# 二值图像扩展?

C# 二值图像扩展?,c#,.net,image,binary,C#,.net,Image,Binary,当我们将图像转换为二进制数据时,(比如.png图像),在.net中再次将二进制图像转换为图像时,有没有办法恢复扩展名?简短回答,没有。您也无法获取名称。文件名通常不存储在图像数据中 如果您知道图像格式,您可以使用一个合理的、公认的扩展名,或者在系统上注册到该文件类型的文件扩展名。希望这些不会有所不同 如果您不知道格式,也许可以在序列化为二进制之前读取它,并将其作为表示的前缀 要得到一个不太笼统的答案,请展开你的问题 编辑 我想您可以尝试使用一组可能的格式显示图像,然后目视评估所有成功的解码以选择

当我们将图像转换为二进制数据时,(比如.png图像),在.net中再次将二进制图像转换为图像时,有没有办法恢复扩展名?

简短回答,没有。您也无法获取名称。文件名通常不存储在图像数据中

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

如果您不知道格式,也许可以在序列化为二进制之前读取它,并将其作为表示的前缀

要得到一个不太笼统的答案,请展开你的问题

编辑


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

简短回答,不。您也无法获得名称。文件名通常不存储在图像数据中

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

如果您不知道格式,也许可以在序列化为二进制之前读取它,并将其作为表示的前缀

要得到一个不太笼统的答案,请展开你的问题

编辑


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

是否要检查文件格式,然后为其指定合适的扩展名,还是要恢复原始扩展名?第一种可能适用于大多数图像格式,因为它们以表示格式的魔法字节开头。但它不会告诉您文件最初是否有
.jpg
.jpeg
扩展名,或者它是否是一个具有完全不同扩展名的jpeg文件。我想恢复原始扩展名?是什么阻止您将文件名与图像数据一起存储?文件存储在哪里?如果要还原原始扩展名,显然需要将其存储。要检查文件格式,然后为其指定合适的扩展名,还是要还原原始扩展名?第一种可能适用于大多数图像格式,因为它们以表示格式的魔法字节开头。但它不会告诉您文件最初是否有
.jpg
.jpeg
扩展名,或者它是否是一个具有完全不同扩展名的jpeg文件。我想恢复原始扩展名?是什么阻止您将文件名与图像数据一起存储?文件存储在哪里?如果要恢复原始扩展名,显然需要存储它。