开源.NetCore通用工具库Xmtool使用连载 - 图像处理篇

【Github源码】

《上一篇》 介绍了Xmtool工具库中的扩展动态对象,今天我们继续为大家介绍其中的图像处理类库。

在我们的软件系统中,经常需要对图片进行各种各样的处理;例如最常见的头像缩放,需要将用户上传的图片缩放成系统需要的最佳大小。本工具包主要将常用的图片方法进行汇总,方便开发者使用。目前包中只提供了图片缩放和图片生成base64字符串的方法,后续根据需要会持续增加。

对图片文件进行缩放

对图片数据流进行缩放

将图片文件转换成Base64字符串

将图片数据流转换成Base64字符串

将Image对象内容转换成Base64字符串

1. 对图片文件进行缩放

public Image Resize(string originFile, int height, int width, bool keepRatio, bool getCenter)

说明:将原始图片文件缩放成指定宽高,并返回生成后的图片对象。

c# 复制代码
ImageTool tool = Xmtool.Image();
Image result = tool.Resize("c:\avatar.png", 200, 200, true, true);
// TODO

2. 对图片数据流进行缩放

public Image Resize(Stream stream, int height, int width, bool keepRatio, bool getCenter)

说明:将图片数据流缩放成指定宽高,并返回生成后的图片对象。

c# 复制代码
ImageTool tool = Xmtool.Image();
using (FileStream stream = new FileStream("c:\avatar.png", FileMode.Open, FileAccess.Read))
{ 
	Image result = tool.Resize(stream, 200, 200, true, true);
	// TODO
}

3. 将图片文件转换成Base64字符串

public string ToBase64(string file)

说明:将指定图片文件内容转换成Base64字符串并返回。

c# 复制代码
ImageTool tool = Xmtool.Image();
string base64str = tool.ToBase64("c:\avatar.png");
// TODO

4. 将图片数据流转换成Base64字符串

public string ToBase64(Stream stream)

说明:将图片数据流转换成Base64字符串并返回。

c# 复制代码
ImageTool tool = Xmtool.Image();
using (FileStream stream = new FileStream("c:\avatar.png", FileMode.Open, FileAccess.Read))
{ 
	string base64str = tool.ToBase64(stream);
	// TODO
}

5. 将Image对象内容转换成Base64字符串

public string ToBase64(Image image)

说明:将Image对象内容转换成Base64字符串并返回。

c# 复制代码
Image image = Image.FromFile("c:\avatar.png");
ImageTool tool = Xmtool.Image();
string base64str = tool.ToBase64(image);
// TODO

【Github源码】(https://github.com/softwaiter/Xmtool)

相关推荐
时代的狂1 天前
ASP.NET Core 认证与授权(三):请求认证与权限校验
asp.net·.net core·web api·认证与授权
yuyuyui3 天前
.NET CORE 动态扩展Options-配置运行时热更新
.net core
yuyuyui10 天前
.NET CORE认证模块-注册方案与请求认证探究
认证·.net core
yuyuyui15 天前
.NET CORE 认证模块-Cookie、JWT 与自定义 Scheme
认证·.net core
hez201016 天前
在 .NET 上构建超大托管数组
c#·.net·.net core·gc·clr
.NET修仙日记1 个月前
Scrutor:.NET 依赖注入自动化的优雅实现
c#·.net·.net core·微软技术·依赖注入·scrutor
yuyuyui2 个月前
Mysql事物的持久性及原子性
mysql·.net core
wangl_922 个月前
初探 C# 15 的 Union Types
java·开发语言·算法·c#·.net·.net core
wangl_922 个月前
C# / .NET 在工业环境中的优势
开发语言·c#·.net·.netcore·.net core·visual studio
飞瀑2 个月前
ASP.NET Core 核心深度解析:Application Part 与 Feature Provider 完全指南
.net core