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

易语言MASM置入代码颜色处理:输入前景色和背景色、使前景色不等于背景色(返回整数型)

[复制链接]
发表于 2021-2-28 20:28:41 | 显示全部楼层 |阅读模式
1.png

  1. .版本 2

  2. .程序集 程序集1

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


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

  6. .子程序 _临时子程序

  7. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  8. 输出调试文本 (前景色不等于背景色 (0, 0))
  9. 输出调试文本 (前景色不等于背景色 (12345, 23456))



  10. .子程序 前景色不等于背景色, 整数型, 公开, 前景色等于背景色时,前景色R、G、B通道小于128加1,否则减1,不等于直接返回前景色不做任何处理,防止前景色与背景色相同导致图像异常
  11. .参数 前景色, 整数型, , 范围:0~16777215 的颜色值,仅限 24、32位颜色深度使用,其他位深度、有损压缩格式请勿使用
  12. .参数 背景色, 整数型, , 图像的透明底色等

  13. 置入代码 ({ 139, 69, 8, 59, 69, 12, 117, 42, 60, 128, 115, 4, 4, 1, 235, 2, 44, 1, 128, 252, 128, 115, 5, 128, 196, 1, 235, 3, 128, 236, 1, 193, 200, 8, 128, 252, 128, 115, 5, 128, 196, 1, 235, 3, 128, 236, 1, 193, 192, 8, 201, 194, 8, 0 })
  14. ' mov eax,[ebp+8]
  15. ' .if eax == [ebp+12]
  16. ' .if al < 128
  17. ' add al,1
  18. ' .else
  19. ' sub al,1
  20. ' .endif
  21. ' .if ah < 128
  22. ' add ah,1
  23. ' .else
  24. ' sub ah,1
  25. ' .endif
  26. ' ror eax,8
  27. ' .if ah < 128
  28. ' add ah,1
  29. ' .else
  30. ' sub ah,1
  31. ' .endif
  32. ' rol eax,8
  33. ' .endif
  34. ' leave
  35. ' retn 8
  36. 返回 (0)
复制代码

相关帖子

回复

使用道具 举报

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

本版积分规则