跳到主要内容

图片处理

对图片做缩放、复制、反色、灰度、旋转,或按命令做组合处理;也可以生成 .ico

当前模块定义

sys:imgProcess图片处理Action
标准模块
输入 11 · 输出 2 · 枚举 2

输入参数

  • 图片imgImage必填

    要转换的图片

    填写 仅变量
  • 操作类型typeEnum必填

    对图片的转换操作类型

    填写 固定输入默认 resize_percent
    8 个选项缩放图片(指定比例、缩小图片(指定像素、复制图片
    缩放图片(指定比例默认resize_percent
    缩小图片(指定像素resize_pixel
    复制图片Clone
    反色Invert
    灰度GrayScale
    旋转Rotate
    组合处理Filters
    生成图标文件(.icoGenerateIco
  • 缩放比例resizePercentNumber可选

    缩小或放大到原来的百分之多少

    填写 输入或变量条件 仅:resize_percent默认 50
  • 最大宽度maxWidthInteger可选

    最大宽度(像素数),0表示自动

    填写 输入或变量条件 仅:resize_pixel默认 0
  • 最大高度maxHeightInteger可选

    最大高度(像素数),0表示自动

    填写 输入或变量条件 仅:resize_pixel默认 0
  • 旋转方式rotationInteger可选

    顺时针角度。0:不旋转, 1:90°, 2:180°, 3:270°, 其他值请参考模块文档。

    填写 输入或变量条件 仅:Rotate默认 0
  • 处理参数filterParamsText可选

    每行设定一个处理步骤,具体设置请参考文档

    填写 固定输入条件 仅:Filters
  • 图标文件保存路径iconFilePathText必填

    保存图标文件(.ico)的完整路径

    填写 输入或变量条件 仅:GenerateIco
  • 图标大小iconSizeText必填

    图标中的位图大小,单位为像素。多尺寸图标可用英文逗号风格

    填写 输入或变量条件 仅:GenerateIco默认 256,48,32,16
  • 缩放采样iconScalingEnum可选

    自动:整数倍放大使用邻近采样,大比例缩小使用 Lanczos,其余使用高质量双三次

    填写 固定输入条件 仅:GenerateIco默认 HighQualityBicubic
    6 个选项自动、像素化(邻近采样)、清晰(高质量双线性)
    自动Auto
    像素化(邻近采样)NearestNeighbor
    清晰(高质量双线性)HighQualityBilinear
    平滑(高质量双三次)默认HighQualityBicubic
    锐利(Lanczos)Lanczos
    区域平均(Box)Box
  • 失败后停止stopIfFailBoolean可选

    失败后是否停止动作

    填写 固定输入默认 true

输出参数

  • 是否成功isSuccessBoolean

    操作是否成功

  • 结果图片resultImage

    处理后的图片

    条件 仅:Clone, resize_percent, resize_pixel, Filters

概述

组合处理封装了 ImageProcessor,命令较多,需要一点图像处理基础。该能力仍标为测试,遇到问题请反馈。

图片处理

图片处理和变换
图片
 
要转换的图片
操作类型
对图片的转换操作类型
缩放比例
50
缩小或放大到原来的百分之多少
是否成功
-- 选择变量 --
操作是否成功
结果图片
-- 选择变量 --
处理后的图片

参数说明

图片:要处理的图片变量。组合处理时也可以不填,改在处理参数里用 Load: 从磁盘读。

操作类型

  • 缩放图片(指定比例)
  • 缩小图片(指定像素)
  • 复制图片:先复制一份再改,避免动到原图。
  • 反色
  • 灰度
  • 旋转
  • 组合处理
  • 生成图标文件(.ico)

缩放比例:仅指定比例。相对原图的百分比,如 50 表示边长缩到一半。也可以大于 100 放大。

最大宽度 / 最大高度:仅指定像素。0 表示按另一边自动。保持长宽比。两边都填时,按不超过这两边来缩。

旋转方式:仅旋转。顺时针。0 不转,1 90°,2 180°,3 270°,99 按 Exif 方向自动转。其它值见下表。

处理参数:仅组合处理。每行一条命令。

图标文件保存路径 / 图标大小 / 缩放采样:仅生成 ico。见后文。

失败后停止:失败是否中止动作。默认开启。

输出

  • 是否成功:是否处理成功。
  • 结果图片:仅复制、按比例缩放、按像素缩小、组合处理。反色、灰度、旋转没有这项,表示直接改原图。

旋转方式取值

度数均为顺时针。同一数字对应两种等价写法:

旋转和翻转
0不旋转;或旋转 180° 后再水平和垂直翻转
1顺时针 90°;或旋转 270° 后再水平和垂直翻转
2旋转 180°;或直接水平和垂直翻转
3旋转 270°;或旋转 90° 后再水平和垂直翻转
4旋转 180° 后再垂直翻转;或水平翻转
5旋转 270° 后再垂直翻转;或旋转 90° 后再水平翻转
6垂直翻转;或旋转 180° 后再水平翻转
7旋转 90° 后再垂直翻转;或旋转 270° 后再水平翻转
99按 Exif 方向自动旋转

组合处理

处理参数每行一条,格式为 命令:参数1;参数2;...(半角冒号、半角分号)。// 开头是注释。

图片参数不是必须的,可用 Load: 从磁盘读;结果图片也可以不接,改用 Save: 直接写文件。

节约打印机墨粉的示例(先加亮、再把浅色底变成白):

图片处理

图片处理和变换
操作类型
对图片的转换操作类型
处理参数
$$ Load:{path} Brightness:30 Contrast:30 //GaussianSharpen:3 //Filter:3 AutoRotate: WhiteThreshold:220 //ReplaceColor:#edeae1;#FFFFFF;40 Save:{savePath}
每行设定一个处理步骤,具体设置请参考文档
$$
Load:{path}
Brightness:30
Contrast:30
//GaussianSharpen:3
//Filter:3
AutoRotate:
WhiteThreshold:220
//ReplaceColor:#edeae1;#FFFFFF;40
Save:{savePath}

含义:从 path 变量加载 → 亮度 +30% → 对比度 +30% → 自动旋转 → 高于指定亮度的像素改成白 → 存到 savePath。注释掉的行用来生成灰度或换色,需要时去掉 //

节约墨水
获取选择的文件(夹)/选择特定文件{fileList}
每个对 {fileList} 的每项执行
赋值$= Path.Combine(Path.GetDirectoryName({path}), {prefix}+Path... => {savePath}
图片处理组合处理

处理效果:

命令列表

处理命令及说明
更改透明度Alpha:图片透明度(0–100)
自动旋转AutoRotate: 按 Exif,无额外参数。AutoRotate:0 表示不执行
更改背景颜色BackgroundColor:颜色。先 Format:png 才能用透明色
调整亮度Brightness:值(-100 到 100)。Brightness:30 表示亮度 +30%
限制图片大小Constrain:宽度,高度。较小的图也会放大到这个尺寸,缩小时保持比例
调整对比度Contrast:值(-100 到 100)
裁切Crop:左边像素,顶边像素,宽度,高度
倾斜校正Deskew: 校正扫描文档方向
边界检测DetectEdges:滤镜序号;是否转灰度。序号 0 Kayyali、1 Kirsch、2 Laplacian3X3、3 Laplacian5X5、4 LaplacianOfGaussian、5 Prewitt、6 RobertsCross、7 Scharr、8 Sobel。灰度 true/false。例:DetectEdges:0;true
EntropyCropEntropyCrop:阈值(0–255)。原始文档。四周大面积单色时较好
滤镜Filter:序号。0 黑白、1 漫画、2 Gotham、3 灰度、4 HiSatch、5 反转、6 Lomograph、7 LoSatch、8 宝丽来、9 棕褐。原始文档
翻转Flip:true 垂直;Flip:false 水平
设置保存格式Format:png|jpg|tiff|bmp|gif(1.22.29+)。透明色请先 Format:png
GammaGamma:值,通常 0.2–0.5
高斯模糊GaussianBlur:像素数,越大越糊
高斯锐化GaussianSharpen:像素数
色调Hue:度数;是否旋转。度数 0–360;rotate 默认 false
加载图片Load:路径。支持 bmp / jpg / png / tiff
遮罩Mask:遮罩路径;坐标(可空)。遮罩里透明的区域会从原图去掉。遮罩更大时会缩到原图尺寸。坐标 x,y,空则居中
叠加层(图片水印)Overlay:路径;坐标(可空);尺寸(可空);不透明度。坐标 x,y,空则居中;尺寸 宽,高;不透明度 0–100
像素化Pixelate:像素数参考
替换颜色ReplaceColor:旧颜色;新颜色;容差。颜色支持 #RRGGBB#AARRGGBBrgb(...)rgba(...)。容差 0–128。透明色请先 Format:png
重置Reset: 回到初始状态,便于一次动作里存多种结果
调整大小Resize:宽度,高度。某一边填 0 则忽略该边
调整大小(高级)ResizeEx:宽,高;缩放模式;锚点;是否放大(1.22.40+)。宽高用逗号,其余用分号。模式:0/Pad 填充、1/Stretch 拉伸、2/Crop 裁切铺满、3/Max 限制最长边、4/Min 限制最短边、5/BoxPad 小图只填充不放大。锚点:0 Center、1 Top、2 Bottom、3 Left、4 Right、5 TopLeft、6 TopRight、7 BottomRight、8 BottomLeft。是否放大仅非 Stretch 时有效
调整分辨率Resolution:水平,垂直。改的是分辨率元数据,不是像素尺寸
旋转角度Rotate:角度,可为小数
圆角RoundedCorners:半径RoundedCorners:半径;左上;右上;左下;右下。透明效果请先 Format:pngBackgroundColor:#00000000
饱和度Saturation:比例(-100 到 100)
保存Save:路径
色调Tint:颜色
暗角Vignette:颜色参考
文字水印Watermark:字体;字号;颜色;风格;透明度;位置;阴影;垂直;RTL;文字。风格可用 Bold / Italic / Underline / Strikeout,逗号分隔。位置 x,y,或 x,y,锚点(1.39.35+),或 x,y,锚点,顺时针角度(1.40.5+);空则居中。锚点含义同 ResizeEx。文字可用 \r\n 换行。垂直、RTL 官方文档无对应参数,可能无效
二值化Threshold:亮度(0–255)。高于变白,低于变黑
底色过滤WhiteThreshold:亮度。高于变白,其余不变。常用于扫描件去纸色
输出质量Quality:0-100。只对 Save 到 jpg 有效
清除 ExifClearMetaData:

参考图片

滤镜效果、边界检测滤镜效果(库文档配图,不是 Quicker 界面):

生成图标文件

图片处理

图片处理和变换
图片
C:\Pictures\puffin.jpg
要转换的图片
操作类型
对图片的转换操作类型
图标文件保存路径
D:\test2.ico
保存图标文件(.ico)的完整路径
图标大小
256,48,32,16
图标中的位图大小,单位为像素。多尺寸图标可用英文逗号风格
缩放采样
自动:整数倍放大使用邻近采样,大比例缩小使用 Lanczos,其余使用高质量双三次
是否成功
-- 选择变量 --
操作是否成功

图片:源图变量或文件路径。

图标文件保存路径.ico 的完整路径。

图标大小:图标里包含的位图边长。可以是一个,如 32;也可以多个,逗号分隔,如 256,48,32,16。Quicker 会按这些尺寸缩放。

缩放采样:自动(整数倍放大用邻近,大比例缩小用 Lanczos,其余用高质量双三次)、像素化(邻近)、清晰(高质量双线性)、平滑(高质量双三次)、锐利(Lanczos)、区域平均(Box)。旧稿未写。

相关链接

更新历史

  • 1.0.6:增加此模块。
  • 1.5.7:增加反色、灰度、旋转。
  • 1.22.24:增加组合图片处理。
  • 1.33.22:增加生成图标。
  • 20230712:说明 ResizeEx「是否放大」仅对非 Stretch 生效。
  • 20230817:补充 Watermark 位置格式。
  • 20231008:水印支持锚点。
  • 20231029:1.40.5 水印支持旋转角度。
  • 20240611:修正 Constrain(小图会放大,感谢 @Moy)。
  • 20240826:水印文字支持 \r\n 换行。

更新于