|
本帖最后由 CNWTEPRG 于 2021-2-17 09:46 编辑
输入图片(480x300):
裁剪结果(300x300):
输入图片(300x480):
裁剪结果(300x300):
- .版本 2
- .支持库 BmpOperate
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 位图, 位图
- .局部变量 失败, 逻辑型
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- 检查 (位图.载入文件 (“in.bmp”))
- 写到文件 (“out.bmp”, 位图_一比一居中裁剪 (位图, 失败).取位图数据 ())
- 输出调试文本 (失败)
- .子程序 位图_一比一居中裁剪, 位图, 公开, 将位图居中裁剪成比例1:1的正方形
- .参数 位图, 位图
- .参数 失败, 逻辑型, 参考 可空, 提供逻辑型变量,失败传出真,成功传出假
- .局部变量 宽, 整数型
- .局部变量 高, 整数型
- .局部变量 宽高, 整数型
- .局部变量 返回值, 位图
- 失败 = 假
- 宽 = 位图.取宽度 ()
- 高 = 位图.取高度 ()
- .如果真 (宽 = 高)
- 返回 (位图)
- .如果真结束
- 宽高 = 选择 (宽 < 高, 宽, 高)
- .如果真 (返回值.创建 (宽高, 宽高, 位图.取位深度 (), ) = 假)
- 失败 = 真
- 返回 (返回值)
- .如果真结束
- .如果 (宽高 = 宽)
- .如果真 (位图.复制到 (0, (高 - 宽高) ÷ 2, 宽高, 宽高, 返回值, 0, 0, ) = 假)
- 失败 = 真
- 返回 (返回值)
- .如果真结束
- .否则
- .如果真 (位图.复制到 ((宽 - 宽高) ÷ 2, 0, 宽高, 宽高, 返回值, 0, 0, ) = 假)
- 失败 = 真
- 返回 (返回值)
- .如果真结束
- .如果结束
- 返回 (返回值)
复制代码 |
|