国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#】獲取圖像(jpeg/jpg/png/gif/bmp/tiff)的正確格式 - 二進制頭判斷

admin
2025年4月17日 20:57 本文熱度 89
?    

本文描述C#如何使用二進制頭判斷圖像的正確格式。

前言 



在學習Halcon的過程中,遇到了一些問題,就是讀取圖像后綴明明是png格式的,路徑也是正確的,但是讀取時圖像就是報錯,這是為什么呢?

經過一番檢查發現,是不小心修改了圖像后綴名導致的報錯,那么該如何判斷圖像的正確格式呢,其實每種圖像格式都有其獨特的二進制頭部標識,通過讀取圖像的二進制頭就可以判斷圖像的正確格式。

下面我們將介紹如何使用 C# 讀取圖像的二進制頭標識判圖像文件的正確格式。


幾種常用的圖像頭部標識:

JPEG: 0xFF, 0xD8

PNG:  0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A

GIF:   0x47, 0x49, 0x46

BMP: 0x42, 0x4D

TIFF:  0x49, 0x49, 0x2A, 0x00 或 0x4D, 0x4D, 0x00, 0x2A


優點:準確可靠,確保文件頭與圖像格式匹配。

缺點:需要解析文件內容,稍微占用資源。


運行環境 



操作系統:Window 11

編程軟件:Visual Studio 2022

.Net版本:.Net Framework 4.6

代碼 



(一)代碼    
   

#region 判斷圖像的正確格式/// <summary>/// 圖像格式工具:獲取正確的圖像格式,通過圖像文件的二進制頭部圖像格式標識。/// </summary>public static ImageFormat GetImageFormat(string filePath){    using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))    {        using (BinaryReader br = new BinaryReader(fs))        {            // 讀取文件的前幾個字節            byte[] headerBytes = br.ReadBytes(16);            // 根據文件的前幾個字節判斷圖像的實際格式            if (IsJpeg(headerBytes))            {                return ImageFormat.Jpeg;            }            else if (IsPng(headerBytes))            {                return ImageFormat.Png;            }            else if (IsGif(headerBytes))            {                return ImageFormat.Gif;            }            else if (IsBmp(headerBytes))            {                return ImageFormat.Bmp;            }            else            {                // 默認返回未知格式                return null;            }        }    }}private static bool IsJpeg(byte[] headerBytes){    // JPEG 文件的前兩個字節是 0xFF, 0xD8    return headerBytes.Length >= 2 && headerBytes[0] == 0xFF && headerBytes[1] == 0xD8;}private static bool IsPng(byte[] headerBytes){    // PNG 文件的前八個字節是固定的簽名:137 80 78 71 13 10 26 10    return headerBytes.Length >= 8 && headerBytes[0] == 137            && headerBytes[1] == 80 && headerBytes[2] == 78            && headerBytes[3] == 71 && headerBytes[4] == 13            && headerBytes[5] == 10 && headerBytes[6] == 26            && headerBytes[7] == 10;}private static bool IsGif(byte[] headerBytes){    // GIF 文件的前三個字節是 "GIF"    return headerBytes.Length >= 3 && headerBytes[0] == 71            && headerBytes[1] == 73 && headerBytes[2] == 70;}private static bool IsBmp(byte[] headerBytes){    // BMP 文件的前兩個字節是 "BM"    return headerBytes.Length >= 2 && headerBytes[0] == 66        && headerBytes[1] == 77;}#endregion


該文章在 2025/4/19 10:11:55 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 久久精品国产久精国产果冻传媒 | 无码丰满熟妇一区二区 | 亚洲学生妹高清AV | 77777亚洲午夜久久多人 | 怡春院欧美一区二区三区免费 | 国产精品日韩精品 | 中日无码精品一区二区三区 | 国产亚洲日韩欧美在线看片 | 亚洲国产精品自拍 | 无套内内射视频网站 | 综合无码色情一区二区 | 国产精品亚洲精品日韩已方 | 免费看成人AA片无码视频羞羞网 | av无码国产永久播放蜜芽 | 日韩在线一区二区三区免费视频 | 国产成人影院一区二区三区 | 日韩欧美亚洲在线视频 | 人妻精品久久久久中文字幕一冢本完整版在线观看 | 亚洲国产精品无码久久秋霞 | 久久久久无码精品国产h动漫 | 在线视频欧美日韩不卡一区 | 人妻无码久久 | 亚洲国产av一区二区三区 | 丰满岳乱妇在线观看中字无码 | 粉嫩av久久一区二区三区 | 新金瓶梅2在线观看 | 在线观看播放理论片 | 国产成人啪精品免费观看 | 四虎国产精品永久免费网址 | 久久亚洲一区二区三区四区五区 | 日产国产精品亚洲系列 | 无码成人专区在线观看 | 高清一级毛片一本到免费观看 | 亚洲永久精品日本无码 | 苍井空电影去哪儿看网址 | 亚洲av永久无码精品无码 | 少妇裸体图片电影 | 国产成人精品亚洲777人妖(免费)在线观看 | 无码精品一区二区三区四区不卡 | 亚洲av无码洁泽明步在线观看 | 亚洲国产成人手机在线观看 |