程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> ImageSharp .NET Core跨平台圖形處理庫,imagesharpcore

ImageSharp .NET Core跨平台圖形處理庫,imagesharpcore

編輯:關於.NET

ImageSharp .NET Core跨平台圖形處理庫,imagesharpcore


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。

 

如果你覺得本文對你有幫助,請點擊“推薦”,謝謝。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved