.net平臺使用ImageMagick進行圖片讀取、縮放、壓縮 、儲存等
阿新 • • 發佈:2022-03-31
- 第三方類庫:
Magick.NET-Q8-AnyCPU.dll、Magick.NET.Core.dll
DLL下載
using ImageMagick; {//指定路徑圖片縮圖顯示 MagickImage img = new MagickImage(filePath); img.Scale(this.imageList1.ImageSize.Width, imageList1.ImageSize.Height);//按寬高取圖 Stream st = new MemoryStream(); img.Write(st);//輸出到記憶體 Image img2 = new Bitmap(st); imageList1.Images.Add(img2); } {//pictureBox1圖片讀到記憶體 → 通過MagickImage輸出到本地 MemoryStream mstr = new MemoryStream(); //建立新的MemoryStream pictureBox1.Image.Save(mstr, ImageFormat.Jpeg);// 儲存物件到記憶體 MagickImage image = new MagickImage(mstr.ToArray(), MagickFormat.Jpeg); var arr = txtImgSize.Text.Trim().Replace(",", " ").Replace(",", " ").Split(' '); image.Scale(int.Parse(arr[0]), int.Parse(arr[1]));//縮放 MemoryStream mstr2 = new MemoryStream(); //建立新的MemoryStream image.Write(mstr2); image.Dispose(); } {//無失真壓縮 MagickImage image = new MagickImage(filePath); image.Quality = 100;//無失真壓縮 Percentage percentage = new Percentage(50); image.Resize(percentage);//調大小 按px值 //image.Scale(width, height);//縮放 字不清楚較嚴重 image.Write(FilePath);//輸出到磁碟 image.Dispose(); }