设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 2464|回复: 2
收起左侧

易语言实现位图图片尺寸大小最快最简单的缩放算法:最邻近插值算法 (返回位图)

[复制链接]
发表于 2021-2-6 17:08:07 | 显示全部楼层 |阅读模式
1.png

  1. .版本 2
  2. .支持库 BmpOperate

  3. .程序集 程序集1

  4. .子程序 _启动子程序, 整数型


  5. _临时子程序 ()
  6. 返回 (0)

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

  10. .如果真 (位图.载入文件 (“in.bmp”) = 假)
  11.     信息框 (“文件 in.bmp 无法载入!”, 0, , )
  12.     结束 ()
  13. .如果真结束
  14. 写到文件 (“out.bmp”, 位图_缩放_最邻近插值算法 (位图, 256, 256, 失败).取位图数据 ())
  15. 输出调试文本 (失败)


  16. .子程序 位图_缩放_最邻近插值算法, 位图, 公开
  17. .参数 位图, 位图
  18. .参数 横向分辨率, 整数型
  19. .参数 纵向分辨率, 整数型
  20. .参数 失败, 逻辑型, 参考 可空, 失败传出真,成功传出假
  21. .局部变量 返回值, 位图
  22. .局部变量 宽, 整数型
  23. .局部变量 高, 整数型
  24. .局部变量 Xd, 双精度小数型
  25. .局部变量 Yd, 双精度小数型
  26. .局部变量 X, 整数型
  27. .局部变量 Y, 整数型
  28. .局部变量 XX, 整数型
  29. .局部变量 YY, 整数型

  30. 失败 = 假
  31. .如果真 (横向分辨率 ≤ 0 或 纵向分辨率 ≤ 0)
  32.     失败 = 真
  33.     返回 (返回值)
  34. .如果真结束
  35. 宽 = 位图.取宽度 ()
  36. 高 = 位图.取高度 ()
  37. .如果真 (宽 ≤ 0 或 高 ≤ 0)
  38.     失败 = 真
  39.     返回 (返回值)
  40. .如果真结束
  41. .如果真 (返回值.创建 (横向分辨率, 纵向分辨率, 位图.取位深度 (), ) = 假)
  42.     失败 = 真
  43.     返回 (返回值)
  44. .如果真结束
  45. Xd = (宽 - 1) ÷ (横向分辨率 - 1)
  46. Yd = (高 - 1) ÷ (纵向分辨率 - 1)
  47. .变量循环首 (0, 横向分辨率 - 1, 1, X)
  48.     XX = 四舍五入 (X × Xd, )
  49.     .变量循环首 (0, 纵向分辨率 - 1, 1, Y)
  50.         YY = 四舍五入 (Y × Yd, )
  51.         .如果真 (返回值.置某点颜色 (X, Y, 位图.取某点颜色 (XX, YY)) = 假)
  52.             失败 = 真
  53.             返回 (返回值)
  54.         .如果真结束

  55.     .变量循环尾 ()
  56. .变量循环尾 ()
  57. 返回 (返回值)
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-3-29 20:56 , Processed in 0.465027 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表