如何自動判斷讀檔是bmp jpg

我想對於圖檔做色彩轉換,但讀入bmp或jpg檔案時會有不同的對應VI
當然也可以針對檔案path的附檔名部分作分析判定

但如果彩色圖像非來自檔案(沒有附檔名)就沒辦法判別了
請教各位先進高手兩個部分
1.如何自動判斷所讀入的檔案型態為bmp或jpg(或其他),進而做不同處置
2.如何將之製作類似numeric/string/boolean自動型態轉換VIs
以上

還請高手賜教…
謝謝!

path可以轉為字串在判斷後3個字

去做CASE的選擇

資料1:

programmer-club

chiuinan2(青衫)



讀取檔案的前幾個byte, 做下列判斷 (假設都是合法影像檔, 如果摻雜其他類的檔案, 例如文字檔等, 就需要更多的資料來做判斷了):



JPEG: 0xFF, 0xDB

GIF: “GIF”

BMP: “BM”

PCX: 0x0A

TIFF: “II"或"MM”



其他更少見的影像檔就不列了.



[QUOTE=Oliver] 我想對於圖檔做色彩轉換,但讀入bmp或jpg檔案時會有不同的對應VI當然也可以針對檔案path的附檔名部分作分析判定

但如果彩色圖像非來自檔案(沒有附檔名)就沒辦法判別了
請教各位先進高手兩個部分
1.如何自動判斷所讀入的檔案型態為bmp或jpg(或其他),進而做不同處置
2.如何將之製作類似numeric/string/boolean自動型態轉換VIs
以上
還請高手賜教…
謝謝!
[/QUOTE]

http://www.programmer-club.com.tw/showSameTitleN/cb/9017.htmlMingYen42236.4282638889

資料2:

新浪博客

作者runyon



??判??像格式的?法(BMP/JPEG/PNG/GIF)(2011-04-08 13:25:38)



今天遇到一???:??人???某些“bmp”文件我?程序?法正确?取。我?是用QT???取?像的。似乎不??出??种??,Google也?听到人抱怨。???去,??是?取文件?后??格式不?,所以QT?有???了。用UE打?一看,??JFIF字?,搜索??原???“bmp”其?是jpg格式的?像文件。

    之后??了下,???在的?像???件?后?是?容的。也就?明它?不是根据后??判??像格式的。通?用UE打?BMP/JPEG/PNG/GIF四种格式的文件。我???了一些?律,可以根据?些?律??判??像的真正格式。判?不出?再使用后?。

    BMP: 以"BM"??,也就是文件0x00位置是ascII的’B’,0x01位置是ascII的’M’

    JPEG: 0x06-0x09 “JFIF”

    GIF: 0x00-0x02 “GIF”

    PNG: 0x01-0x03 “PNG”

    ?种??判?方式不知道是否是正确全面的,不?目前?未???。就先???理了。?竟那些?像格式的?明文?都老?,??先用???好了哈哈。

http://blog.sina.com.cn/s/blog_48d4cf2d0100qfwp.html





關鍵字:格式、檔頭、BMP、Jpg、ASCIIMingYen42236.4288425926