Skip to content

图片格式转换

函数名:img_图片转换 / img_Conv

功能描述

实现多种图片格式之间的转换,支持 BMP、JPG、GIF、TIFF、PNG 五种格式互转。可选保留 PNG 透明通道,并支持返回转换后图片的 Base64 编码字符串,便于嵌入 HTML、数据库或 API。

会员等级:🟢 免费版(Free)

语法

excel
=img_图片转换(图片路径, 转换格式(1=BMP 2=JPG 3=GIF 4=TIFF 5=PNG), 保存路径, 含透明色, 是否返回转换后的base64)

参数

参数名类型必填默认值说明
图片路径String原始图片文件路径
转换格式(1=BMP 2=JPG 3=GIF 4=TIFF 5=PNG)Integer目标格式代码:1=BMP, 2=JPG, 3=GIF, 4=TIFF, 5=PNG
保存路径String""转换后图片保存路径,为空则不保存到文件
含透明色BooleanFALSE是否保留透明通道,仅 PNG 格式有效
是否返回转换后的base64BooleanFALSE是否返回转换后的 Base64 字符串,默认返回状态文本

返回值

String — 转换成功时返回"转换完成"(未启用 Base64)或 Base64 编码字符串(启用 Base64);失败时返回错误信息。

使用示例

示例一:JPG 转 PNG 并保存

将 JPG 图片转换为 PNG 格式并保存到指定路径。

公式

excel
=img_图片转换("C:\pic\photo.jpg", 5, "C:\pic\photo_converted.png")

结果

转换完成

示例二:返回 Base64 编码

将 GIF 图片转换为 BMP 格式并返回 Base64 编码,便于直接嵌入其他系统。

公式

excel
=img_图片转换("C:\pic\image.gif", 1, "", FALSE, TRUE)

结果

Qk1aeAHA...(Base64 编码字符串)

示例三:保留透明通道

转换 PNG 图片时保持透明背景,仅对 PNG 目标格式有效。

公式

excel
=img_图片转换("C:\pic\transparent.png", 5, "C:\pic\transparent_out.png", TRUE)

结果

转换完成

技术说明

格式映射

代码格式说明
1BMPWindows 位图
2JPGJPEG 格式(有损压缩)
3GIFGIF 格式(支持动画)
4TIFFTIFF 格式(无损存储)
5PNGPNG 格式(支持透明通道)

透明通道处理

当目标格式为 PNG 且 含透明色 为 TRUE 时,函数会创建一个新的 Bitmap,先以透明色清空画布,再绘制原图,从而保留透明效果。其他格式或不启用此参数时,直接保存原图。

实现依赖

基于 .NET System.Drawing 库实现图片加载与格式转换,兼容 WPS 与 Excel 环境。

错误处理

错误场景返回值
输入文件不存在错误:文件不存在
格式代码不在 1-5 范围内错误:不支持的格式代码
保存路径目录不存在自动创建目录后保存
其他异常转换失败: {异常信息}

基于源代码最新版本文档