路径:支持库 → 图片支持库。
能做什么
把图像当字节集读写与加工(无句柄、无独立“图片对象”),常见用途:
| 场景 | 典型命令 |
|---|---|
| 读盘 / 落盘 | 图片_读文件 · 图片_写文件 |
| 查信息 | 图片_是否有效 · 图片_取宽度/高度 · 图片_取格式 · 图片_是否有透明 |
| 改尺寸 / 方向 | 图片_缩放 · 图片_按比例缩放 · 图片_缩略图 · 图片_旋转 · 图片_扶正 · 图片_裁剪 · 图片_扩展画布 |
| 像素与合成 | 图片_取像素 · 图片_置像素 · 图片_填充 · 图片_贴图 · 图片_混合 |
| 滤镜与色 | 图片_灰度 · 图片_反色 · 图片_亮度对比度 · 图片_模糊 等 |
| 水印 / 文字 | 图片_画文字 · 图片_画矩形 等 |
| 格式互转 | 图片_转PNG/JPEG/BMP/GIF/WebP |
| 剪贴板 | 图片_置剪贴板 · 图片_取剪贴板 |
| 交给控件 | 图片框1.图片 = 图 · 按钮1.图片 = 图(含 SVG 字节) |
支持格式:PNG / JPEG / BMP / GIF(几何仅首帧)/ TIFF / ICO / WebP / SVG。
SVG 按视口栅格化为位图后再处理;加工后写出默认为 PNG(矢量不再保留)。
硬约束
- 扁平命令:
图片_读文件(...);图片=编码后的图像字节集(无句柄)。 - 失败:字节集空 / 逻辑假 / 整数
0/ 文本空;查图片_取最后错误()。 - 颜色文本
#RRGGBB/#AARRGGBB;像素色0xAARRGGBB。 - GIF 几何只处理第一帧;ICO/无法回写→PNG;任意角旋转扩画布透明底 PNG;SVG 解码后写出→PNG。
- 插值:
0近邻 ·1线性 ·2高质量(默认) ·3立方。
快速开始
字节集 图 = 图片_读文件("demo.png")
如果 (图片_是否有效(图) == 假) {
输出(图片_取最后错误())
} 否则 {
图 = 图片_缩略图(图, 800, 800)
图 = 图片_画文字(图, "仅供办理", 16, 16, 28, "#CCFFFFFF", "", 0)
图片框1.图片 = 图
}
' 资源里的 SVG 也可:控件直接赋,或先经支持库再赋
图片框1.图片 = 到字节集(":/复制.svg")
字节集 svg图 = 图片_读文件("icon.svg")
如果 (图片_是否有效(svg图)) {
svg图 = 图片_缩放(svg图, 64, 64)
按钮1.图片 = svg图
}
读写
本分类共 2 条。
图片_写文件
- 签名:
逻辑 图片_写文件(字节集 图像, 文本 路径) - 说明:将图像字节集原样写入文件。成功返回真。扩展名建议与格式一致。
- 参数一│图像: 图像字节集
- 参数二│路径: 输出文件路径
图片_读文件
- 签名:
字节集 图片_读文件(文本 路径) - 说明:读取图像文件为字节集。须为可解码图像,否则返回空并记录错误。
- 参数一│路径: 图像文件路径(支持中文)
信息
本分类共 6 条。
图片_取宽度
- 签名:
整数 图片_取宽度(字节集 图像) - 说明:取图像像素宽度;无效时返回 0。
- 参数一│图像
图片_取最后错误
- 签名:
文本 图片_取最后错误() - 说明:取最近一次图片命令的错误信息;成功时为空。
图片_取格式
- 签名:
文本 图片_取格式(字节集 图像) - 说明:取容器格式名:png / jpeg / bmp / gif / tiff / ico / webp / svg / unknown。
- 参数一│图像
图片_取高度
- 签名:
整数 图片_取高度(字节集 图像) - 说明:取图像像素高度;无效时返回 0。
- 参数一│图像
图片_是否有效
- 签名:
逻辑 图片_是否有效(字节集 图像) - 说明:判断字节集是否为可解码图像。
- 参数一│图像
图片_是否有透明
- 签名:
逻辑 图片_是否有透明(字节集 图像) - 说明:任一像素 Alpha < 255 则返回真。
- 参数一│图像
几何
本分类共 8 条。
图片_扩展画布
- 签名:
字节集 图片_扩展画布(字节集 图像, 整数 左边距, 整数 上边距, 整数 右边距, 整数 下边距, [文本 颜色=""]) - 说明:四周加边,原图不缩放。边距不能为负;全 0 返回原字节。颜色空=透明;含透明时输出 PNG。
- 参数一│图像
- 参数二│左边距
- 参数三│上边距
- 参数四│右边距
- 参数五│下边距
- 参数六│[颜色]: #RRGGBB/#AARRGGBB,空=透明
图片_扶正
- 签名:
字节集 图片_扶正(字节集 图像) - 说明:按文件内拍摄方向摆正。无方向信息时返回原字节(不重编码)。读文件不会自动扶正。
- 参数一│图像
图片_按比例缩放
- 签名:
字节集 图片_按比例缩放(字节集 图像, 小数 比例, [整数 插值=2]) - 说明:按比例缩放。1 为原大,0.5 为一半。比例须大于 0 且不超过 64。
- 参数一│图像
- 参数二│比例: 1=原大,0.5=一半
- 参数三│[插值]: 0近邻 1线性 2高质量 3立方,默认 2
图片_旋转
- 签名:
字节集 图片_旋转(字节集 图像, 整数 角度) - 说明:顺时针旋转。0/90/180/270 精确;其它角度扩大画布(透明底)并输出 PNG。0 返回原字节。
- 参数一│图像
- 参数二│角度: 任意整数,90 的倍数最精确
图片_缩放
- 签名:
字节集 图片_缩放(字节集 图像, 整数 宽度, 整数 高度, [整数 插值=2]) - 说明:缩放到指定像素。宽或高为 0 时按另一边保持比例。插值 0近邻 1线性 2高质量 3立方,默认 2。
- 参数一│图像
- 参数二│宽度: 目标像素宽
- 参数三│高度: 0=按宽度保持比例
- 参数四│[插值]: 0近邻 1线性 2高质量 3立方,默认 2
图片_缩略图
- 签名:
字节集 图片_缩略图(字节集 图像, 整数 最大宽度, 整数 最大高度) - 说明:等比缩进最大宽高框内,不放大。已在框内则返回原字节。某一边小于等于 0 表示不限制该边。
- 参数一│图像
- 参数二│最大宽度: 小于等于 0 则不限制宽
- 参数三│最大高度: 小于等于 0 则不限制高
图片_翻转
- 签名:
字节集 图片_翻转(字节集 图像, 整数 方向) - 说明:翻转图像。方向:1=水平,2=垂直,3=水平加垂直。
- 参数一│图像
- 参数二│方向: 1=水平,2=垂直,3=两者
图片_裁剪
- 签名:
字节集 图片_裁剪(字节集 图像, 整数 左, 整数 上, 整数 宽度, 整数 高度) - 说明:按像素矩形裁剪。宽或高小于等于 0 表示取到右/下边缘。区域须落在图内。
- 参数一│图像
- 参数二│左
- 参数三│上
- 参数四│宽度
- 参数五│高度
绘制
本分类共 9 条。
图片_九宫格
- 签名:
字节集 图片_九宫格(字节集 图像, 整数 左边距, 整数 上边距, 整数 右边距, 整数 下边距, 整数 目标宽度, 整数 目标高度) - 说明:九宫格拉伸到目标尺寸,四角不变形。输出 PNG。
- 参数一│图像
- 参数二│左边距
- 参数三│上边距
- 参数四│右边距
- 参数五│下边距
- 参数六│目标宽度
- 参数七│目标高度
图片_创建
- 签名:
字节集 图片_创建(整数 宽度, 整数 高度, [文本 颜色=""]) - 说明:新建空白图,输出 PNG。颜色支持 #RRGGBB / #AARRGGBB;省略或空为全透明。
- 参数一│宽度
- 参数二│高度
- 参数三│[颜色]: 如 “#FFFFFFFF”;空=全透明
图片_圆角
- 签名:
字节集 图片_圆角(字节集 图像, 整数 半径) - 说明:四角裁成透明圆角。半径 0 返回原字节;过大时按短边一半封顶。输出 PNG。
- 参数一│图像
- 参数二│半径
图片_填充矩形
- 签名:
字节集 图片_填充矩形(字节集 图像, 整数 左, 整数 上, 整数 宽度, 整数 高度, 文本 颜色) - 说明:在图上填充矩形。越界部分裁切。
- 参数一│图像
- 参数二│左
- 参数三│上
- 参数四│宽度
- 参数五│高度
- 参数六│颜色
图片_描边矩形
- 签名:
字节集 图片_描边矩形(字节集 图像, 整数 左, 整数 上, 整数 宽度, 整数 高度, 文本 颜色, [整数 线宽=1]) - 说明:画空心矩形。线宽 1–64,描边以边线为中心。
- 参数一│图像
- 参数二│左
- 参数三│上
- 参数四│宽度
- 参数五│高度
- 参数六│颜色
- 参数七│[线宽]: 1–64,默认 1
图片_画圆
- 签名:
字节集 图片_画圆(字节集 图像, 整数 圆心左, 整数 圆心上, 整数 半径, 文本 颜色, [整数 填充=1]) - 说明:画圆。填充 1 实心,0 空心。
- 参数一│图像
- 参数二│圆心左
- 参数三│圆心上
- 参数四│半径
- 参数五│颜色
- 参数六│[填充]: 1实心 0空心,默认 1
图片_画文字
- 签名:
字节集 图片_画文字(字节集 图像, 文本 内容, 整数 左, 整数 上, [整数 字号=16], [文本 颜色="#FFFFFFFF"], [文本 字体=""], [整数 对齐=0]) - 说明:在图上画文字。对齐:0 左(横坐标为左)、1 中、2 右。字体空则用微软雅黑。
- 参数一│图像
- 参数二│内容
- 参数三│左
- 参数四│上
- 参数五│[字号]: 默认 16
- 参数六│[颜色]: #RRGGBB / #AARRGGBB,默认白
- 参数七│[字体]: 空=微软雅黑
- 参数八│[对齐]: 0左 1中 2右,默认 0
图片_画线
- 签名:
字节集 图片_画线(字节集 图像, 整数 起点左, 整数 起点上, 整数 终点左, 整数 终点上, 文本 颜色, [整数 线宽=1]) - 说明:画直线。线宽 1..64。
- 参数一│图像
- 参数二│起点左
- 参数三│起点上
- 参数四│终点左
- 参数五│终点上
- 参数六│颜色
- 参数七│[线宽]: 1..64,默认 1
图片_绘制
- 签名:
字节集 图片_绘制(字节集 底图, 字节集 图层, 整数 左, 整数 上, [整数 透明度=100], [整数 宽度=0], [整数 高度=0]) - 说明:把图层画到底图上。透明度 0–100。宽度/高度大于 0 时拉伸;只给一边则保持图层比例。
- 参数一│底图
- 参数二│图层
- 参数三│左: 图层左上角 X
- 参数四│上: 图层左上角 Y
- 参数五│[透明度]: 0–100,默认 100
- 参数六│[宽度]: 0=图层原宽
- 参数七│[高度]: 0=图层原高
滤镜
本分类共 11 条。
图片_亮度
- 签名:
字节集 图片_亮度(字节集 图像, 整数 增量) - 说明:调节亮度。增量 -100..100,0 返回原字节。
- 参数一│图像
- 参数二│增量: -100..100
图片_去背景色
- 签名:
字节集 图片_去背景色(字节集 图像, 文本 颜色, [整数 容差=32]) - 说明:把接近指定颜色的像素变为透明。容差 0..255。
- 参数一│图像
- 参数二│颜色: #RRGGBB / #AARRGGBB
- 参数三│[容差]: 0..255,默认 32
图片_反色
- 签名:
字节集 图片_反色(字节集 图像) - 说明:反相颜色(保留透明度)。
- 参数一│图像
图片_对比度
- 签名:
字节集 图片_对比度(字节集 图像, 整数 增量) - 说明:调节对比度。增量 -100..100,0 返回原字节。
- 参数一│图像
- 参数二│增量: -100..100
图片_模糊
- 签名:
字节集 图片_模糊(字节集 图像, 整数 半径) - 说明:均值模糊。半径 0..32,0 返回原字节。
- 参数一│图像
- 参数二│半径: 0..32
图片_灰度
- 签名:
字节集 图片_灰度(字节集 图像) - 说明:转为灰度图。
- 参数一│图像
图片_置透明度
- 签名:
字节集 图片_置透明度(字节集 图像, 整数 透明度) - 说明:按百分比缩放整图 Alpha。0 全透明,100 不变。
- 参数一│图像
- 参数二│透明度: 0..100
图片_色相
- 签名:
字节集 图片_色相(字节集 图像, 整数 偏移) - 说明:色相偏移,单位度。范围 -180..180,0 返回原字节。
- 参数一│图像
- 参数二│偏移: -180..180
图片_锐化
- 签名:
字节集 图片_锐化(字节集 图像, [整数 强度=50]) - 说明:锐化。强度 0..100,0 返回原字节。
- 参数一│图像
- 参数二│[强度]: 0..100,默认 50
图片_饱和度
- 签名:
字节集 图片_饱和度(字节集 图像, 整数 增量) - 说明:调节饱和度。增量 -100..100,-100 接近灰度,0 返回原字节。
- 参数一│图像
- 参数二│增量: -100..100
图片_马赛克
- 签名:
字节集 图片_马赛克(字节集 图像, 整数 块大小, [整数 左=0], [整数 上=0], [整数 宽度=0], [整数 高度=0]) - 说明:马赛克打码。块大小 1–256(1 返回原字节)。宽或高 ≤0 表示从起点到右/下边缘。
- 参数一│图像
- 参数二│块大小: 1–256
- 参数三│[左]: 默认 0
- 参数四│[上]: 默认 0
- 参数五│[宽度]: ≤0 到右边缘
- 参数六│[高度]: ≤0 到下边缘
格式
本分类共 6 条。
图片_置JPEG质量
- 签名:
逻辑 图片_置JPEG质量(整数 质量) - 说明:设置后续 JPEG 编码质量。1–100,默认 90。成功返回真。
- 参数一│质量: 1–100
图片_转BMP
- 签名:
字节集 图片_转BMP(字节集 图像) - 说明:转换为 BMP。
- 参数一│图像
图片_转GIF
- 签名:
字节集 图片_转GIF(字节集 图像) - 说明:转换为单帧 GIF。
- 参数一│图像
图片_转JPEG
- 签名:
字节集 图片_转JPEG(字节集 图像, [整数 质量=0]) - 说明:转换为 JPEG。质量 1–100 仅本次有效;0 或省略则用 图片_置JPEG质量(默认 90)。
- 参数一│图像
- 参数二│[质量]: 1–100 仅本次;0 或省略沿用全局
图片_转PNG
- 签名:
字节集 图片_转PNG(字节集 图像) - 说明:转换为 PNG 字节集。
- 参数一│图像
图片_转WebP
- 签名:
字节集 图片_转WebP(字节集 图像) - 说明:转换为 WebP(需系统 WIC 编码器。Windows 10 通常只能解码,Windows 11 才有编码器)。
- 参数一│图像
像素
本分类共 5 条。
图片_从像素数据
- 签名:
字节集 图片_从像素数据(整数 宽度, 整数 高度, 字节集 像素) - 说明:由 BGRA 像素重建 PNG。像素长度须为 宽×高×4。
- 参数一│宽度
- 参数二│高度
- 参数三│像素: BGRA 字节集
图片_取主色
- 签名:
整数 图片_取主色(字节集 图像) - 说明:取整图平均色,返回 ARGB 整数。
- 参数一│图像
图片_取像素
- 签名:
整数 图片_取像素(字节集 图像, 整数 左, 整数 上) - 说明:取指定像素颜色,返回 ARGB 整数(0xAARRGGBB)。越界返回 0。
- 参数一│图像
- 参数二│左
- 参数三│上
图片_取像素数据
- 签名:
字节集 图片_取像素数据(字节集 图像) - 说明:取原始 BGRA 像素字节(行主序,步长=宽×4)。宽高用 图片_取宽度/高度。
- 参数一│图像
图片_置像素
- 签名:
字节集 图片_置像素(字节集 图像, 整数 左, 整数 上, 整数 颜色) - 说明:设置像素并返回新图。颜色为 ARGB 整数 0xAARRGGBB。
- 参数一│图像
- 参数二│左
- 参数三│上
- 参数四│颜色: 0xAARRGGBB
剪贴板
本分类共 2 条。
图片_写剪贴板
- 签名:
逻辑 图片_写剪贴板(字节集 图像) - 说明:把图像写入系统剪贴板(PNG + DIB)。成功返回真。
- 参数一│图像
图片_读剪贴板
- 签名:
字节集 图片_读剪贴板() - 说明:从系统剪贴板读取图像,输出 PNG 字节。无图时返回空。
多帧
本分类共 3 条。
图片_取帧
- 签名:
字节集 图片_取帧(字节集 图像, 整数 索引) - 说明:取指定帧,输出 PNG。索引从 0 起。
- 参数一│图像
- 参数二│索引: 从 0 起
图片_取帧延时
- 签名:
整数 图片_取帧延时(字节集 图像, 整数 索引) - 说明:取 GIF 帧延时(毫秒)。非 GIF 或无延时元数据时返回 0。
- 参数一│图像
- 参数二│索引
图片_取帧数
- 签名:
整数 图片_取帧数(字节集 图像) - 说明:取帧数。普通图为 1;GIF 动图为多帧。
- 参数一│图像
易错对照
| 错误 | 正确 |
|---|---|
| 当句柄用 | 进出都是字节集 |
| 失败不查错误 | 图片_取最后错误() |
| GIF 期望全帧几何 | 几何只处理第一帧;多帧见取帧 |