c#如何识别一张图片的格式
生活随笔
收集整理的這篇文章主要介紹了
c#如何识别一张图片的格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題窺探
在有些時候,我們拿到了一張圖片。這張圖片的格式是 JPG 還是 PNG?是 BMP 還是只有一幀的 GIF?雖然在大部分情況下,你確實可以把一張 PNG 格式的圖片保存成 JPG,在電腦上也能雙擊打開看。但如果你要寫一些程序來處理圖片,那么圖片的格式就至關重要了。例如 GIF 里面有幀信息,而JPG 里面卻沒有,PNG 圖片有通道信息,而 JPG 也沒有。如果你下載了一張JPG 的圖片,卻嘗試用處理 GIF 的方式去提取幀信息,顯然就會導致程序報錯。
解決方案
通過文件的擴展名來判斷?
這種方法比較簡單,?
但若是有人故意改下文件擴展名,這種方法就不起作用了。
2.通過C#自身提供的方法來進行判斷(判斷某種確定的圖片類型)
bool isJPG = false; System.Drawing.Image img = System.Drawing.Image.FromFile(filesName); if(img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)) {isJPG = true; }3.通過讀取文件內容來判斷
所有的圖片文件都包括:文件識別頭和圖象數據兩部分,
其中文件識別頭用來讓計算機判斷是哪種文件 格式。
JPEG
所有的JPEG文件以字符串“0xFFD8”開頭,并以字符串“0xFFD9”結束。依此便可判別是否是JPEG文件。
BMP
BMP文件以字符串“0x4D42”開頭
GIF
gif頭六個是 GIF89a或 GIF87a
總結
以上是生活随笔為你收集整理的c#如何识别一张图片的格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Benchmark.NET 测试代
- 下一篇: C# Lambda表达式详解,及Lamb