1. 控件
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Processing;
2. 代码
if (File.Exists(fileItem))
{
byte[] fileByte = File.ReadAllBytes(fileItem);
if (2097152 <= fileByte.Length)
{
string newFile = null;
IImageFormat format;
using (SixLabors.ImageSharp.Image image = SixLabors.ImageSharp.Image.Load(fileItem, out format))
{
newFile = string.Format("{0:yyyyMMddHHmmssfff}", DateTime.Now);
image.Mutate(x => x.Resize(image.Width, image.Height));
JpegEncoder encoder = new JpegEncoder()
{
//标准中定义的0到100之间的质量值。默认值为75。
//通过减少Quality松散的信息,从而减小文件大小。
Quality = 50,
//IgnoreMetadata = true
};
newFile = $"{newFile}{Path.GetExtension(fileItem)}";
using (FileStream input = File.OpenWrite($"{filePath}{newFile}"))
{
image.Save(input, encoder);
input.Dispose();
}
image.Dispose();
}
File.Copy($"{filePath}{newFile}", fileItem, true);
File.Delete($"{filePath}{newFile}");
}
网友评论