博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ImageSharp .NET Core跨平台图形处理库
阅读量:6853 次
发布时间:2019-06-26

本文共 2557 字,大约阅读时间需要 8 分钟。

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

提示:由于是预览版更新较快,如版本无法引用请到https://www.myget.org/gallery/imagesharp 查看版本号,或更改project.json 使用最新版本。

编写代码

首先我们需要一张图,将其放置于程序根目录下命令为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。

 

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

转载地址:http://gkyyl.baihongyu.com/

你可能感兴趣的文章
CKEditor使用配置
查看>>
变频电源与变频器不同浅释
查看>>
利用HTML5将摄像头视频流转换成ascii码流,通过websocket实时传输给其它浏览器展示。...
查看>>
运维之道:16 张图片带你 1 小时学会 Ansible
查看>>
分享:IT管理员都喜欢用的Outlook超大附件系统
查看>>
objective-c设计模式之---单例
查看>>
golang读取json格式的天气预报
查看>>
每周一书《大数据搜索引擎原理分析及编程实现》分享!
查看>>
【网优谷】如何快速写出有吸引力的网站标题?
查看>>
Linux运维之lLinux文件系统及文件类型
查看>>
网站SEO优化过程中什么样的文章容易被秒收
查看>>
stata初学者常用命令语
查看>>
tomcat的安装
查看>>
深入理解并行编程4
查看>>
Internet Connection speeds
查看>>
puppet运维自动化之puppet模块示例
查看>>
如何让云×××:VIS Creator 带给您一个市场领先的私有云管理平台
查看>>
获取各个ISP运营商IP地址修正版[菜鸟级]
查看>>
python核心编程--第五章
查看>>
我的友情链接
查看>>