设为首页收藏本站帮助中心
查看: 602|回复: 0
收起左侧

易语言实现将位图居中并裁剪成 1:1比例 一比一比例、宽高相同的的正方形 (返回位图)

[复制链接]
发表于 2021-2-17 09:46:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
本帖最后由 CNWTEPRG 于 2021-2-17 09:46 编辑
输入图片(480x300): 输入(横).png
裁剪结果(300x300): 输出(横).png
输入图片(300x480): 输入(竖).png
裁剪结果(300x300): 输出(竖).png
  1. .版本 2
  2. .支持库 BmpOperate

  3. .程序集 程序集1

  4. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  5. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  6. 返回 (0)  ' 可以根据您的需要返回任意数值

  7. .子程序 _临时子程序
  8. .局部变量 位图, 位图
  9. .局部变量 失败, 逻辑型

  10. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  11. 检查 (位图.载入文件 (“in.bmp”))
  12. 写到文件 (“out.bmp”, 位图_一比一居中裁剪 (位图, 失败).取位图数据 ())
  13. 输出调试文本 (失败)

  14. .子程序 位图_一比一居中裁剪, 位图, 公开, 将位图居中裁剪成比例1:1的正方形
  15. .参数 位图, 位图
  16. .参数 失败, 逻辑型, 参考 可空, 提供逻辑型变量,失败传出真,成功传出假
  17. .局部变量 宽, 整数型
  18. .局部变量 高, 整数型
  19. .局部变量 宽高, 整数型
  20. .局部变量 返回值, 位图

  21. 失败 = 假
  22. 宽 = 位图.取宽度 ()
  23. 高 = 位图.取高度 ()
  24. .如果真 (宽 = 高)
  25.     返回 (位图)
  26. .如果真结束
  27. 宽高 = 选择 (宽 < 高, 宽, 高)
  28. .如果真 (返回值.创建 (宽高, 宽高, 位图.取位深度 (), ) = 假)
  29.     失败 = 真
  30.     返回 (返回值)
  31. .如果真结束
  32. .如果 (宽高 = 宽)
  33.     .如果真 (位图.复制到 (0, (高 - 宽高) ÷ 2, 宽高, 宽高, 返回值, 0, 0, ) = 假)
  34.         失败 = 真
  35.         返回 (返回值)
  36.     .如果真结束

  37. .否则
  38.     .如果真 (位图.复制到 ((宽 - 宽高) ÷ 2, 0, 宽高, 宽高, 返回值, 0, 0, ) = 假)
  39.         失败 = 真
  40.         返回 (返回值)
  41.     .如果真结束

  42. .如果结束
  43. 返回 (返回值)

复制代码

相关帖子

这个小可爱很神秘,什么都没留下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则