巧克力
新成员
- 已加入
- 2020年12月15日
- 留言内容
- 2
- 编程经验
- 3-5
检查代码:
但我不确定如何使用它:
我要确保图像文件不是gif类型,然后将该文件转换为gif类型。
我已经有了转换方法,它可以很好地转换为gif,但是我想先检查文件是否不是gif,并且只有在不是gif的情况下,才将其转换为gif,但是我不确定如何使用GetImageFormat。
C#:
public enum ImageFormat
{
bmp,
jpeg,
gif,
tiff,
png,
unknown
}
public static ImageFormat GetImageFormat(byte[] bytes)
{
var bmp = Encoding.ASCII.GetBytes("BM"); // BMP
var gif = Encoding.ASCII.GetBytes("GIF"); // GIF
var png = new byte[] { 137, 80, 78, 71 }; // PNG
var tiff = new byte[] { 73, 73, 42 }; // TIFF
var tiff2 = new byte[] { 77, 77, 42 }; // TIFF
var jpeg = new byte[] { 255, 216, 255, 224 }; // jpeg
var jpeg2 = new byte[] { 255, 216, 255, 225 }; // jpeg canon
if (bmp.SequenceEqual(bytes.Take(bmp.Length)))
return ImageFormat.bmp;
if (gif.SequenceEqual(bytes.Take(gif.Length)))
return ImageFormat.gif;
if (png.SequenceEqual(bytes.Take(png.Length)))
return ImageFormat.png;
if (tiff.SequenceEqual(bytes.Take(tiff.Length)))
return ImageFormat.tiff;
if (tiff2.SequenceEqual(bytes.Take(tiff2.Length)))
return ImageFormat.tiff;
if (jpeg.SequenceEqual(bytes.Take(jpeg.Length)))
return ImageFormat.jpeg;
if (jpeg2.SequenceEqual(bytes.Take(jpeg2.Length)))
return ImageFormat.jpeg;
return ImageFormat.unknown;
}
但我不确定如何使用它:
C#:
images = Directory.GetFiles(@"d:\satimages", "*.jpg");
int counter = 0;
foreach (string file in images)
{
using (var img = Image.FromFile(file))
{
GetImageFormat(
}
}
我要确保图像文件不是gif类型,然后将该文件转换为gif类型。
我已经有了转换方法,它可以很好地转换为gif,但是我想先检查文件是否不是gif,并且只有在不是gif的情况下,才将其转换为gif,但是我不确定如何使用GetImageFormat。