开源.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)

相关推荐
雪飞鸿4 天前
ArrayPoolWrapper简洁、安全的ArrayPool
c#·.net·.net core·原创
风口旁的猪5 天前
一套可落地的 .NET 8 微服务/分布式工程实践
docker·consul·.net core·efcore·refit
EdisonZhou12 天前
MAF快速入门(24)整合多个Skill来源
llm·agent·.net core
hez201012 天前
C# 15 类型系统改进:Union Types
c#·.net·.net core
csdn_aspnet15 天前
了解 ASP.NET Core 中的防伪技术
后端·asp.net·csrf·.net core
csdn_aspnet15 天前
如何保护您的 .NET Web API 免受常见安全威胁
安全·xss·csrf·.net core·cors
EdisonZhou15 天前
MAF快速入门(23)通过C#类定义Skills
llm·agent·.net core
.NET修仙日记15 天前
2026 .NET 面试八股文:高频题 + 答案 + 原理(进阶核心篇)
面试·职场和发展·c#·.net·.net core·微软技术·webapi
csdn_aspnet20 天前
在无状态 ASP.NET Core 8 Web API 中实现 CSRF 令牌,无需 Views/MVC!
前端·csrf·.net core
EdisonZhou24 天前
MAF快速入门(22)声明式Agent实战
llm·aigc·agent·.net core