ディレクトリ内の画像のタイプが png で、拡張子が.bmp
. 以下は.bmp
拡張機能かどうかを判断します
string x = Path.GetExtension(file);
これから、その拡張子が であることを確認し.bmp
ます。問題は、それがpng形式であるかどうかを確認することです。私はこの部分で立ち往生しています。
私がこれを行っている理由は、画像を透明にしたいためであり、.bmp 画像はそれではうまく機能しません。ありがとうございました!
The above answer is incorrect, the code should be:
var header = new byte[4];
using (var fs = new FileStream(filename))
{
fs.Read(header, 0, 4);
}
var strHeader = Encoding.ASCII.GetString(header);
return strHeader.ToLower().EndsWith("png");
これでファイル拡張子を確認できます
Byte[] imageBase64 = ....
var encodedFile = Encoding.ASCII.GetString(imageBase64);
return encodedFile.ToLower().StartsWith("?png", StringComparison.InvariantCultureIgnoreCase);
ファイルの最初の 4 バイトを読み取ります。
byte[] b = new byte[4];
using (var fs = new FileStream(filename))
{
fs.Read(b, 0, 4);
}
if (b.ToString().Contains("PNG"))
{
// this is a png file
}