ImageUtil 扩展
ImageUtil 是一个非可视扩展,为内置的 Image 组件提供额外的图像处理工具。
包名:com.gordonlu.imageutil.aix 版本:5 发布日期:2022年3月8日 最低 API:19 (Android 4.4 KitKat)
下载链接
ImageUtil.aia - 示例项目
功能概述
ImageUtil 扩展提供了一系列强大的图像处理功能,包括:
- 图像效果和滤镜
- 图像变换(旋转、翻转、缩放)
- 水印添加
- 位图创建和操作
- 图像属性获取
- 图像保存功能
截图
Logo

主要功能示例


![]()

函数
- ApplyGrayscaleAndFade 应用灰度并淡化(组件)
- 对图像应用灰度效果并淡化图像。
- 组件:组件类型,目标图像组件

- ApplyWatermark 应用水印(组件,水印文本)
- 在给定图像上应用水印文本。
- 组件:组件类型,目标图像组件
- 水印文本:文本类型,要添加的水印文字

- ColorFilter 颜色滤镜(组件,颜色)
- 对图像应用指定颜色的滤镜效果。
- 组件:组件类型,目标图像组件
- 颜色:数字类型,滤镜颜色值

- CreateBitmap 创建位图(宽度,高度) {:.component}
- 创建指定尺寸的空白位图。
- 宽度:数字类型,位图宽度
- 高度:数字类型,位图高度
- 返回值:组件类型,创建的位图组件

- CreateImage 创建图像(路径) {:.component}
- 从指定路径创建图像。
- 路径:文本类型,图像文件路径
- 返回值:组件类型,创建的图像组件

- HFlip 水平翻转(组件)
- 水平翻转图像。
- 组件:组件类型,要翻转的图像组件

- VFlip 垂直翻转(组件)
- 垂直翻转图像。
- 组件:组件类型,要翻转的图像组件

- ImageProperties 图像属性(组件) {:YAILList}
- 获取图像的属性信息。
- 组件:组件类型,目标图像组件
- 返回值:列表类型,包含图像属性的列表(宽度、高度等)

- Resize 调整大小(组件,新宽度,新高度)
- 调整图像大小到指定尺寸。
- 组件:组件类型,目标图像组件
- 新宽度:数字类型,新的宽度
- 新高度:数字类型,新的高度

- Rotate 旋转(组件,角度)
- 按指定角度旋转图像。
- 组件:组件类型,目标图像组件
- 角度:数字类型,旋转角度(度)

- Save 保存(组件,路径)
- 将图像保存到指定路径。
- 组件:组件类型,要保存的图像组件
- 路径:文本类型,保存路径

- SetPixel 设置像素(组件,X坐标,Y坐标,颜色)
- 设置图像中指定位置像素的颜色。
- 组件:组件类型,目标图像组件
- X坐标:数字类型,像素的 X 坐标
- Y坐标:数字类型,像素的 Y 坐标
- 颜色:数字类型,像素颜色值
![]()
- Undo 撤销(组件)
- 撤销使用 ApplyGrayscaleAndFade 方法应用的灰度和淡化效果。
- 组件:组件类型,目标图像组件

使用示例
基本图像处理
当 灰度按钮.被点击
调用 ImageUtil1.ApplyGrayscaleAndFade 图片组件
当 水印按钮.被点击
调用 ImageUtil1.ApplyWatermark 图片组件 "© 版权所有"
当 撤销按钮.被点击
调用 ImageUtil1.Undo 图片组件
图像变换
当 水平翻转按钮.被点击
调用 ImageUtil1.HFlip 图片组件
当 垂直翻转按钮.被点击
调用 ImageUtil1.VFlip 图片组件
当 旋转按钮.被点击
调用 ImageUtil1.Rotate 图片组件 90
图像缩放和调整
当 缩放按钮.被点击
设置 新宽度 = 图片组件.宽度 ÷ 2
设置 新高度 = 图片组件.高度 ÷ 2
调用 ImageUtil1.Resize 图片组件 新宽度 新高度
创建和处理位图
当 创建位图按钮.被点击
设置 新位图 = ImageUtil1.CreateBitmap 800 600
设置 图片组件.图片 = 新位图
颜色滤镜效果
当 滤镜按钮.被点击
调用 ImageUtil1.ColorFilter 图片组件 0xFF0000
图像属性获取
当 获取属性按钮.被点击
设置 图像信息 = ImageUtil1.ImageProperties 图片组件
设置 宽度文本.文本 = "宽度: " & 选择列表项 图像信息 1
设置 高度文本.文本 = "高度: " & 选择列表项 图像信息 2
像素级操作
当 绘制按钮.被点击
// 在图像中心绘制一个红色像素
设置 中心X = 图片组件.宽度 ÷ 2
设置 中心Y = 图片组件.高度 ÷ 2
调用 ImageUtil1.SetPixel 图片组件 中心X 中心Y 0xFFFF0000
图像保存
当 保存按钮.被点击
设置 保存路径 = "/sdcard/processed_image.jpg"
调用 ImageUtil1.Save 图片组件 保存路径
显示通知 "图像已保存到: " & 保存路径
高级应用
批量图像处理
当 批量处理按钮.被点击
设置 图片列表 = [图片1, 图片2, 图片3]
对于每项 当前图片 在 图片列表
调用 ImageUtil1.ApplyGrayscaleAndFade 当前图片
调用 ImageUtil1.HFlip 当前图片
设置 保存路径 = "/sdcard/processed_" & 当前索引 & ".jpg"
调用 ImageUtil1.Save 当前图片 保存路径
图像水印添加
当 添加水印按钮.被点击
设置 水印文本 = "© " & 当前年月日 & " 我的公司"
调用 ImageUtil1.ApplyWatermark 图片组件 水印文本
动态图像滤镜
当 滤镜滑块.位置改变
设置 颜色值 = 滤镜滑块.值
调用 ImageUtil1.ColorFilter 图片组件 颜色值
注意事项
- 内存使用:处理大图像时可能消耗大量内存,建议分批处理
- 性能考虑:某些操作(如旋转、缩放)可能需要较长时间
- 存储权限:保存图像需要相应的存储权限
- 路径格式:使用绝对路径确保文件正确保存
- 图像格式:支持常见的图像格式(JPEG、PNG等)
- 撤销功能:只能撤销 ApplyGrayscaleAndFade 操作的效果
技术规格
- 最低系统要求:Android 4.4 KitKat (API 19)
- 扩展类型:非可视扩展
- 支持的图像格式:JPEG、PNG、BMP、WEBP
- 最大图像尺寸:受设备内存限制
- 颜色模式:ARGB_8888
应用场景
- 图像编辑应用
- 照片处理工具
- 图像水印添加
- 图像格式转换
- 批量图像处理
- 创意图像效果
- 图像尺寸调整
- 图像属性分析
开源信息
源代码可在 GitHub 获取: https://github.com/gordonlu310/ImageUtil
欢迎给项目点星支持!⭐
版权信息
- 原作者:Gordon Lu (gordonlu310)
- 原始网址:https://community.appinventor.mit.edu/t/f-os-imageutil-additional-tools-to-the-image-component/53047
- 发布日期:2022年3月8日
- 开源协议:免费开源扩展
文档最后更新:2025年11月18日
扫码添加客服咨询