.NET Core跨平台图形处理库ImageSharp
ImageSharp 是支持.NET Core跨平臺圖形處理庫,ImageSharp是ImageProcessor 的.NET Core跨平臺實現(xiàn)。
ImageSharp 支持如下操作:
調(diào)整大小,裁剪,翻轉(zhuǎn),旋轉(zhuǎn),邊緣檢測等。
支持BMP,PNG,GIF,JPEG 編碼器。
EXIF 讀取和針對JPEG寫。
暫時還不支持Drawing ,即無法支持驗證碼及水印等操作。
GitHub:https://github.com/JimBobSquarePants/ImageSharp
目前版本為1.0.0-alpha7。?
新建項目
新建一個.NET Core 控制臺應(yīng)用程序。
添加引用
由于目前還是alpha版,還未放置在NuGet 中,是在MyGet上 https://www.myget.org/gallery/imagesharp。
在NuGet 程序包源中加入 ImageSharp 源。
ImageSharp 源地址:https://www.myget.org/F/imagesharp
?
然后在NuGet控制臺執(zhí)行命令:
Install-Package?ImageSharp -Version 1.0.0-alpha7
編寫代碼
首先我們需要一張圖,將其放置于程序根目錄下命令為lena.jpg。
示例代碼如下:
public static void Main(string[] args){ ? ? ?
? ? ?? ? ?//讀取EXIFusing (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);} ? ? ? ? ? ?//旋轉(zhuǎn)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);} ? ? ? ? ? ?//設(shè)置像素點方式簡單畫空白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。
原文地址:http://www.cnblogs.com/linezero/p/ImageSharp.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的.NET Core跨平台图形处理库ImageSharp的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Quartz.net 的开源任务管理
- 下一篇: asp.net ajax控件工具集 Au