【问题标题】:how to resize an image without loosing its quality in c#.net?如何在 c#.net 中调整图像大小而不降低其质量?
【发布时间】:2019-07-15 08:37:12
【问题描述】:

如何在c#.net 中调整图像大小而不降低其质量?

Stream myBlob;
var encoder = new JpegEncoder();using (var output = new MemoryStream())
using (SixLabors.ImageSharp.Image<Rgba32> image = Image.Load(myBlob))
{   var divisor = image.Width / 100;
    var height = Convert.ToInt32(Math.Round((decimal)(image.Height/divisor)));
    image.Mutate(x => x.Resize(320, 640));
    image.Save(output, encoder);
    output.Position = 0;
    await blockBlob.UploadFromStreamAsync(output);
}

【问题讨论】:

标签: c# blur loss


【解决方案1】:

您可以使用重载的 Bitmap 构造函数来创建新的调整大小的图像,如下所示:

public static Image Resize(Image image, Size size)
{
   return (Image)(new Bitmap(image, size));
}

你调用它使用:

var result = Resize(image, new Size(320,640));

【讨论】:

  • 但是,如果源文件已经是 JPEG,则在重新编码为 JPEG 时会引入额外的伪影,因此仍然会降低质量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多