Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用图形类设置插值后如何保存位图_C#_Bitmap_Save_Interpolation - Fatal编程技术网

C# 使用图形类设置插值后如何保存位图

C# 使用图形类设置插值后如何保存位图,c#,bitmap,save,interpolation,C#,Bitmap,Save,Interpolation,此代码调整图像大小并将其保存到磁盘 using (var medBitmap = new Bitmap(fullSizeImage, newImageW, newImageH)) { medBitmap.Save(HttpContext.Current.Server.MapPath("~/Media/Items/Images/" + itemId + ".jpg"), ImageFormat.Jpeg); } 但是如果我想使用graphics类

此代码调整图像大小并将其保存到磁盘

using (var medBitmap = new Bitmap(fullSizeImage, newImageW, newImageH))
{
     medBitmap.Save(HttpContext.Current.Server.MapPath("~/Media/Items/Images/" + itemId + ".jpg"),
                    ImageFormat.Jpeg);
}
但是如果我想使用graphics类来设置插值,我该如何保存它呢?graphics类有一个save方法,但它不接受任何参数。如何像位图一样将其保存到磁盘?下面是一段经过修改的代码片段:

using (var medBitmap = new Bitmap(fullSizeImage, newImageW, newImageH))
{
     var g = Graphics.FromImage(medBitmap);
     g.InterpolationMode = InterpolationMode.HighQualityBicubic;
     //What do I do now?
     medBitmap.Save(HttpContext.Current.Server.MapPath("~/Media/Items/Images/" + itemId + ".jpg"),
                    ImageFormat.Jpeg);
}

我只需要设置插值,然后将其保存到磁盘。

创建一个具有所需大小的新位图并设置插值模式。然后使用Graphics.DrawImage将全尺寸图像绘制到新位图中。

调用图形对象上的DrawImage以更新位图:

using (var medBitmap = new Bitmap(fullSizeImage, newImageW, newImageH))
{
     medBitmap.Save(HttpContext.Current.Server.MapPath("~/Media/Items/Images/" + itemId + ".jpg"),
                    ImageFormat.Jpeg);
}
using (var medBitmap = new Bitmap(fullSizeImage, newImageW, newImageH))
{
  using (var g = Graphics.FromImage(medBitmap))
  {
    g.InterpolationMode = InterpolationMode.HighQualityBicubic;
    g.DrawImage(medBitmap, 0, 0);
  }
  medBitmap.Save(HttpContext.Current.Server.MapPath("~/Media/Items/Images/" + itemId + ".jpg"), ImageFormat.Jpeg);
}

啊,这就是我错过的。