日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET 调整图片尺寸(Resize)各种方法

發布時間:2023/12/9 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 调整图片尺寸(Resize)各种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:曉晨Master

本文中如無特別說明?.NET?指 .NET 5或者更高版本,代碼同樣可用于 .NET Core

前言

調整圖片尺寸最常用的場景就是生成縮略圖,一般為保持縱橫比縮小,如果圖片放大會使圖片變得模糊,如果確實有這方面的需求,可以尋找開源的AI放大圖片的方法。

1.ImageSharp

開源地址:https://github.com/SixLabors/ImageSharp

安裝:

dotnet add package SixLabors.ImageSharp

使用:

using var image = Image.Load<Rgba32>("<圖片路徑>"); image.Mutate(x=>x.Resize(50,0)); image.Save("<保存圖片路徑>");

其中調用?Resize(width,height)?方法時,如果設置了寬或者高,然后另一個參數設置為 0 ,那么 ImageSharp 將會保持圖片縱橫比來進行調整大小。

還有更多的設置,比如設置圖片質量等,請參閱官方文檔:https://docs.sixlabors.com/articles/imagesharp/resize.html

使用此組件,可任意跨平臺,無需安裝外部依賴

2.ImageProcessor

此組件只能用于?.NET Framework

開源地址:https://github.com/JimBobSquarePants/ImageProcessor

安裝:

Install-Package ImageProcessor

添加程序集:System.Drawing

使用:

using (var imageFactory = new ImageFactory(true)) {imageFactory.Load("<圖片路徑>").Resize(new Size(50,50)).Save("<保存圖片路徑>"); }

3.SkiaSharp

開源地址:https://github.com/mono/SkiaSharp

安裝:

dotnet add package SkiaSharp

若在Linux出現依賴問題,可以使用包SkiaSharp.NativeAssets.Linux.NoDependencies

使用:

var image = SKBitmap.Decode("<圖片路徑>"); //設置圖片新的size var newImg = image.Resize(new SKSizeI(50, 50), SKFilterQuality.Medium); using var fs=new FileStream("<保存圖片路徑>",FileMode.Create); newImg.Encode(fs,SKEncodedImageFormat.Png, 100); fs.Flush();

4.NetVips

此組件是基于 C 的庫?libvips?來封裝的,性能高,資源占用低。并且經過完全測試,跨平臺且沒有內存泄漏。

開源地址:https://github.com/kleisauke/net-vips

安裝:

dotnet add package NetVips dotnet add package NetVips.Native

兩個包都需要安裝

使用:

var image = NetVips.Image.NewFromFile("<圖片路徑>"); var newImg = image.Resize(<圖片縮放比例>); newImg.WriteToFile("<保存圖片路徑>");

這里的Resize()方法設置的是縮放比例,如: 0.5。該組件額外提供了一個生成縮略圖的方法ThumbnailImage(),可以自定義寬高,如果只穿寬度,那么將保持縱橫比。

var image = NetVips.Image.NewFromFile("<圖片路徑>"); var newImg = image.ThumbnailImage(<圖片寬度>); newImg.WriteToFile("<保存圖片路徑>");

總結

以上是生活随笔為你收集整理的.NET 调整图片尺寸(Resize)各种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。