使用SixLabors.ImageSharp 进行图片的缩放C#.net core,可跨平台运行
引用命令空间
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Processing;
public static vid Resize(byte[] imageBytes,int width=400) { using var steam = new MemoryStream(imageBytes); using (var image= Image.Load(stream)) { var ow = image.Width; var oh = image.Height; // 如何制定宽度大于原图, 使用原图宽度 float scale = (ow <= width) ? 1 : (width/ow*1.0f); // 新的宽度和高度 int targetWidth = (int) (ow * scale); int targetHeight = (int)( oh * scale); // 对图像进行调整大小 image.Mutate(x => x.Resize( new ResizeOptions { Size = new Size(targetWidth,targetHeight),Mode = ResizeMode.Max } )); // configure the encoder options var encoder = new SixLabors.ImageSharp.Formats.Png.PngEncoder { CompressionLevel = CompressionLevel.BestCompression }; // compress the thumb and save it as stream var saveStream= new System.Io.MemoryStream(); image.save(saveStream,encoder); // image.Save(thumbPath,encoder); return saveStream; } }