3

ディレクトリ内の画像のタイプが png で、拡張子が.bmp. 以下は.bmp拡張機能かどうかを判断します

 string x = Path.GetExtension(file);

これから、その拡張子が であることを確認し.bmpます。問題は、それがpng形式であるかどうかを確認することです。私はこの部分で立ち往生しています。

私がこれを行っている理由は、画像を透明にしたいためであり、.bmp 画像はそれではうまく機能しません。ありがとうございました!

4

4 に答える 4

11

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");
于 2014-06-03T03:36:53.210 に答える
0

これでファイル拡張子を確認できます

 Byte[] imageBase64 = ....

 var encodedFile = Encoding.ASCII.GetString(imageBase64);
 return encodedFile.ToLower().StartsWith("?png", StringComparison.InvariantCultureIgnoreCase);
于 2017-06-06T20:31:42.683 に答える
-1

ファイルの最初の 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
}
于 2013-06-03T20:31:24.293 に答える