2012-04-03 107 views
1

當我們將圖像轉換爲二進制數據時(假設是一個.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

回答

1

簡答題,沒有。你也無法得到名字。文件名通常不存儲在圖像數據中。

如果您知道圖像格式是什麼,您可以在系統上使用註冊到該文件類型的合理的,通常認可的擴展名或文件擴展名。希望這些不會有所不同。

如果您不知道格式,或許您可以在序列化爲二進制文件之前將其讀取並將其前綴添加到表示中。

對於較不一般的答案,請擴展您的問題。

編輯

我想你可以嘗試顯示使用一組潛在的格式的圖像,然後直觀地評估所有成功的解碼,以選擇正確的格式。不知何故,在二進制序列化中包含原始擴展名似乎更容易。