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

易语言实现删除、裁剪、切除位图四周所有空白颜色的部分 (返回位图)

[复制链接]
发表于 2021-3-2 20:30:34 | 显示全部楼层 |阅读模式

孩子辍学不想上学打工咋办?
来我这免费学:易语言、51单片机、FPGA(IC设计)、PHP Dsicuz! 程序修改、MASM汇编,包教包会,学废为止。

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

x
输入(四周有不规则的黑色空白部分):
in.png
输出(四周黑色的空白会被删除):
out.png
  1. .版本 2
  2. .支持库 BmpOperate

  3. .程序集 程序集1

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


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

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

  10. 位图.载入文件 (“in.bmp”)
  11. 写到文件 (“out.bmp”, 位图_删四周空 (位图, #黑色, 失败).取位图数据 ())
  12. 输出调试文本 (失败)


  13. .子程序 位图_删四周空, 位图, 公开, 删除位图四周所有空白(指定颜色)的部分
  14. .参数 位图, 位图
  15. .参数 背景色, 整数型, 可空, 留空默认白色
  16. .参数 失败, 逻辑型, 参考 可空, 失败传出真,成功传出假
  17. .局部变量 宽, 整数型
  18. .局部变量 高, 整数型
  19. .局部变量 上, 整数型
  20. .局部变量 下, 整数型
  21. .局部变量 左, 整数型
  22. .局部变量 右, 整数型
  23. .局部变量 X, 整数型
  24. .局部变量 Y, 整数型
  25. .局部变量 返回值, 位图

  26. 失败 = 假
  27. .如果真 (是否为空 (背景色))
  28.     背景色 = #白色
  29. .如果真结束
  30. 宽 = 位图.取宽度 ()
  31. 高 = 位图.取高度 ()
  32. 上 = 高 - 1
  33. 下 = 0
  34. 左 = 宽 - 1
  35. 右 = 0
  36. .变量循环首 (0, 宽 - 1, 1, X)
  37.     .变量循环首 (0, 高 - 1, 1, Y)
  38.         .如果真 (位图.取某点颜色 (X, Y) ≠ 背景色)
  39.             上 = 整数型_取最小值 (上, Y)
  40.             下 = 整数型_取最大值 (下, Y)
  41.             左 = 整数型_取最小值 (左, X)
  42.             右 = 整数型_取最大值 (右, X)
  43.         .如果真结束

  44.     .变量循环尾 ()
  45. .变量循环尾 ()
  46. 宽 = 右 - 左 + 1
  47. 高 = 下 - 上 + 1
  48. .判断开始 (宽 ≤ 0 或 高 ≤ 0)
  49.     失败 = 真
  50.     返回 (返回值)
  51. .判断 (返回值.创建 (宽, 高, 位图.取位深度 (), 背景色) = 假)
  52.     失败 = 真
  53.     返回 (返回值)
  54. .判断 (位图.复制到 (左, 上, 宽, 高, 返回值, 0, 0, ) = 假)
  55.     失败 = 真
  56.     返回 (返回值)
  57. .默认

  58. .判断结束
  59. 返回 (返回值)

  60. .子程序 整数型_取最小值, 整数型, , A、B谁小返回谁
  61. .参数 A, 整数型
  62. .参数 B, 整数型

  63. 返回 (选择 (A < B, A, B))


  64. .子程序 整数型_取最大值, 整数型, , A、B谁大返回谁
  65. .参数 A, 整数型
  66. .参数 B, 整数型

  67. 返回 (选择 (A > B, A, B))
复制代码

相关帖子

本站源码使用前请注意检查,如有问题请点击右下角举报,将在24小时内得到答复。
回复

使用道具 举报

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

本版积分规则