ImageUtil 扩展:图像工具扩展,提供图像处理和变换功能

« 返回首页

ImageUtil 扩展

ImageUtil 是一个非可视扩展,为内置的 Image 组件提供额外的图像处理工具。

包名:com.gordonlu.imageutil.aix 版本:5 发布日期:2022年3月8日 最低 API:19 (Android 4.4 KitKat)

下载链接

com.gordonlu.imageutil.aix

ImageUtil.aia - 示例项目

功能概述

ImageUtil 扩展提供了一系列强大的图像处理功能,包括:

  • 图像效果和滤镜
  • 图像变换(旋转、翻转、缩放)
  • 水印添加
  • 位图创建和操作
  • 图像属性获取
  • 图像保存功能

截图

ImageUtil Logo

主要功能示例

ApplyGrayscaleAndFade ApplyWatermark ColorFilter CreateBitmap

CreateImage HFlip VFlip ImageProperties

Resize Rotate Save SetPixel

Undo

函数

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

ApplyGrayscaleAndFade 示例

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

ApplyWatermark 示例

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

ColorFilter 示例

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

CreateBitmap 示例

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

CreateImage 示例

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

HFlip 示例

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

VFlip 示例

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

ImageProperties 示例

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

Resize 示例

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

Rotate 示例

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

Save 示例

SetPixel 设置像素(组件,X坐标,Y坐标,颜色)
设置图像中指定位置像素的颜色。
  • 组件:组件类型,目标图像组件
  • X坐标:数字类型,像素的 X 坐标
  • Y坐标:数字类型,像素的 Y 坐标
  • 颜色:数字类型,像素颜色值

SetPixel 示例

Undo 撤销(组件)
撤销使用 ApplyGrayscaleAndFade 方法应用的灰度和淡化效果。
  • 组件:组件类型,目标图像组件

Undo 示例

使用示例

基本图像处理

当 灰度按钮.被点击
  调用 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 图片组件 颜色值

注意事项

  1. 内存使用:处理大图像时可能消耗大量内存,建议分批处理
  2. 性能考虑:某些操作(如旋转、缩放)可能需要较长时间
  3. 存储权限:保存图像需要相应的存储权限
  4. 路径格式:使用绝对路径确保文件正确保存
  5. 图像格式:支持常见的图像格式(JPEG、PNG等)
  6. 撤销功能:只能撤销 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日

文档反馈