Xamarin(C#) 画像のファイルタイプの判定方法

今回はXamarin.Formsでの画像のファイルタイプの判定方法についてです。

画像のファイルタイプを判定するにはバイナリデータを見れば判定できます。
画像データはバイナリデータのヘッダ部分に画像のファイルタイプの情報が書かれています。
そのため、その部分を読み込んで見てあげることで、どんな画像ファイルなのか判別することができます。
Android,iOS共に処理は共通です。

public void Check(byte[] buf) {
    string fileHeader = "";
    for (int i = 0; i < 2; i++) {
        fileHeader += buf[i].ToString("X4");
    }

    if (fileHeader == "00FF00D8") {
        // jpeg
        
    } else if (fileHeader == "00890050") {
        // png

    } else if (fileHeader == "00470049") {
        // gif
        
    }
}

ちなみに画像のフルパスからbyteデータを取得する方法は下記の処理で取得することができます。

var bytes = System.IO.File.ReadAllBytes(@ここにファイルのフルパス指定);
タイトルとURLをコピーしました