ImageSharp 是支持.NET Core跨平台圖形處理庫,ImageSharp是ImageProcessor 的.NET Core跨平台實現。
ImageSharp 支持如下操作:
調整大小,裁剪,翻轉,旋轉,邊緣檢測等。
支持BMP,PNG,GIF,JPEG 編碼器。
EXIF 讀取和針對JPEG寫。
暫時還不支持Drawing ,即無法支持驗證碼及水印等操作。
GitHub:https://github.com/JimBobSquarePants/ImageSharp
目前版本為1.0.0-alpha7。
新建一個.NET Core 控制台應用程序。
添加引用
由於目前還是alpha版,還未放置在NuGet 中,是在MyGet上 https://www.myget.org/gallery/imagesharp。
在NuGet 程序包源中加入 ImageSharp 源。
ImageSharp 源地址:https://www.myget.org/F/imagesharp

然後在NuGet控制台執行命令:
Install-Package ImageSharp -Version 1.0.0-alpha7
首先我們需要一張圖,將其放置於程序根目錄下命令為lena.jpg。

示例代碼如下:
public static void Main(string[] args)
{
//讀取EXIF
using (FileStream input = File.OpenRead("lena.jpg"))
{
Image image = new Image(input);
var exif = image.ExifProfile.Values;
foreach (var item in exif)
{
Console.WriteLine(item.Tag+":"+item.Value);
}
}
//縮放
using (FileStream input = File.OpenRead("lena.jpg"))
using (FileStream output = File.OpenWrite("lena2.jpg"))
{
Image image = new Image(input);
image.Resize(image.Width / 2, image.Height / 2)
.Save(output);
}
//裁剪
using (FileStream input = File.OpenRead("lena.jpg"))
using (FileStream output = File.OpenWrite("lena3.jpg"))
{
Image image = new Image(input);
image.Crop(image.Width / 2, image.Height / 2)
.Save(output);
}
//旋轉180°
using (FileStream input = File.OpenRead("lena.jpg"))
using (FileStream output = File.OpenWrite("lena4.jpg"))
{
Image image = new Image(input);
image.Rotate(RotateType.Rotate180)
.Save(output);
}
//設置像素點方式簡單畫空白
using (FileStream output = File.OpenWrite("lena5.jpg"))
{
Image image = new Image(100,200);
Color[] colors = new Color[20000];
for (int i = 0; i < 20000; i++)
{
colors[i] = Color.White;
}
image.SetPixels(100, 200, colors);
image.Save(output);
}
Console.ReadKey();
}
運行程序會在程序根目錄下得到如下的圖

以上也就是 ImageSharp 的簡單使用,更多可以查看官方GitHub。
如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。