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

相关推荐
IT规划师10 天前
Serilog文档翻译系列(六) - 可用的接收器、增强器、格式化输出
日志·.net core·serilog
laiger9011 天前
Centos7.9安装.Net 8.0框架
centos·c#·.net·运维开发·.net core
IT规划师12 天前
Serilog文档翻译系列(五) - 编写日志事件
日志·.net core·serilog
EdisonZhou14 天前
大模型应用开发初探 : 快速直观感受RAG
aigc·.net·.net core
IT规划师16 天前
C#|.net core 基础 - 深拷贝的五大类N种实现方式
.net core·深拷贝
EdisonZhou17 天前
大模型应用开发初探 : 通用函数调用Planner
aigc·.net·.net core
贾光辉18 天前
EntityFramework Core并发迁移解决方案
.net core·ef core
EdisonZhou1 个月前
GitHub Copilot 典型使用场景实践
aigc·.net·.net core
ChaITSimpleLove1 个月前
如何使用 ef core 的 code first(fluent api)模式实现自定义类型转换器?
.net core·ef core·转换器·c#/csharp·code first·valueconverter
饭勺oO2 个月前
Elsa V3学习之Flowchart详解(上)
c#·asp.net core·.net core·工作流·elsa