簡體   English   中英

C#WPF圖像加載和保存

[英]C# WPF Image loading and saving

我一直試圖在位圖圖像類中加載我的圖像。 但是,每當我嘗試保存圖像(使用名為“圖像處理器”的第三方庫)時,質量都會下降。 所以我的問題是:

有什么方法可以保存完整質量的圖像?

src.BeginInit();

src.UriSource = new Uri("picture.jpg", UriKind.Relative);

src.CacheOption = BitmapCacheOption.OnLoad;

src.EndInit(); 

您無需任何第三方庫就可以實現圖像保存。 但是您應該知道,保存JPEG總是會降低質量-這是該格式的本質,而不是庫的問題。 使用JpegBitmapEncoder可以配置質量,並使用最大值不會看到圖像質量下降,但無論如何都會出現。 因此,請考慮改用PNG格式。

以下是如何加載和保存JPEG圖像的簡短代碼段:

// Load from file or any other source.
var uri = new Uri(@"D:\InputImage.jpg");
var bitmap = new BitmapImage(uri);

// Save to file.
var encoder = new JpegBitmapEncoder(); // Or any other, e.g. PngBitmapEncoder for PNG.
encoder.Frames.Add(BitmapFrame.Create(bitmap));
encoder.QualityLevel = 100; // Set quality level 1-100.

using (var stream = new FileStream(@"D:\OutputImage.jpg", FileMode.Create))
{
    encoder.Save(stream);
}

WebImage效果很好,我在應用程序中經常使用此類。 它具有許多不錯的內置功能,例如,在調整圖像大小時保存比例信息:

 WebImage wi = new WebImage(imageName);
 wi.Resize(314, 235, true);
 wi.Save(imageName, "png");

暫無
暫無

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

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