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

相关推荐
wangl_928 天前
初探 C# 15 的 Union Types
java·开发语言·算法·c#·.net·.net core
wangl_928 天前
C# / .NET 在工业环境中的优势
开发语言·c#·.net·.netcore·.net core·visual studio
飞瀑9 天前
ASP.NET Core 核心深度解析:Application Part 与 Feature Provider 完全指南
.net core
飞瀑9 天前
ASP.NET Core MVC 核心架构深度解析
架构·mvc·.net core
.NET修仙日记12 天前
2026 .NET 面试八股文:高频题 + 答案 + 原理(面试加分技巧)
面试·职场和发展·.net·.net core·微软技术
时光追逐者13 天前
2026 年 .NET 客户端常用 MVVM 框架推荐
c#·.net·mvvm·.net core
.NET修仙日记16 天前
2026 .NET 面试八股文:高频题 + 答案 + 原理(高级核心篇)
面试·职场和发展·c#·.net·.net core·.net 8
雪飞鸿25 天前
ArrayPoolWrapper简洁、安全的ArrayPool
c#·.net·.net core·原创
风口旁的猪1 个月前
一套可落地的 .NET 8 微服务/分布式工程实践
docker·consul·.net core·efcore·refit
EdisonZhou1 个月前
MAF快速入门(24)整合多个Skill来源
llm·agent·.net core