簡體   English   中英

如何在使用圖形 class 設置插值后保存 bitmap

[英]How to save a bitmap after setting interpolation with graphics class

此代碼調整圖像大小並將其保存到磁盤。

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

但是如果我想用圖形class來設置插值,怎么保存呢? 圖形 class 有保存方法,但不帶任何參數。 如何將它保存到磁盤,如 bitmap? 這是一個修改后的代碼片段:

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);
}

我只需要設置插值,然后將其保存到磁盤。

在圖形 object 上調用 DrawImage 以更新 bitmap:

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);
}

使用您想要的大小創建一個新的 Bitmap 並設置插值模式。 然后使用 Graphics.DrawImage 將全尺寸圖像繪制到新的 bitmap 中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM