画像ファイルの拡張子が書き換えられたときの検出
画像データの拡張子が書き換えられたときにエラーを吐き出します。
以下サンプル
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
'画像ファイルを読み込む Dim imgPath As String = "C:\test.jpg" Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(imgPath)
Dim fileExtension As String = System.IO.Path.GetExtension(imgPath)
'イメージのファイル形式を調べる
If fileExtension = ".gif" Then
If img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif) Then
'--ここにエラー処理を書く(拡張子がgifでデータのフォーマットが違うとき)
EndIf
ElseIf fileExtension = ".jpg" Then
If img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg) Then
'--ここにエラー処理を書く(拡張子がJpegでデータのフォーマットが違うとき)
End If
Else
'--ここにエラー処理を書く(今回はjpg,gifのみの検出の為それ以外)
EndIf
'画像リソースの開放
img.Dispose()
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
拡張子は以下の処理で取得できます。
Dim fileExtension As String = System.IO.Path.GetExtension(imgPath)
<結果>
fileExtension : ".jpg" や ".gif"などドット付きで取得します
画像データは以下の処理で取得できます
'画像データの読み込み
Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(imgPath)
'画像フォーマット とイコールか判別
img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)
その他ビットマップやpng画像も判別できるようです。
以上