精易论坛

标题: 自己写的图片拼接,参考精易模块写的 [打印本页]

作者: ╰仅冇旳執著    时间: 2019-3-29 13:18
标题: 自己写的图片拼接,参考精易模块写的
本帖最后由 ╰仅冇旳執著 于 2019-3-29 14:28 编辑

两张图片拼成一张,支持上下拼接和左右拼接,支持自定义底色

希望加入精易模块,方便使用,毕竟个人认为两张图拼接用的会比较多点

  
子程序名返回值类型公开备 注
图片_拼接1字节集 两张图片拼接为一张,支持上下拼接和左右拼接,图片自动居中
参数名类 型参考可空数组备 注
图片1字节集
图片2字节集
拼接方式逻辑型上下拼接传入:真 左右拼接传入:假
合成底色整数型默认白底
变量名类 型静态数组备 注
_图片1字节集 
_图片2字节集 
局_总位图类_位图操作 
局_单位图类_位图操作 
局_宽度整数型 
局_高度整数型 
局_拼接结果字节集 
y整数型 
x整数型 
局_左边整数型 
局_顶边整数型 
图片_转换 (图片1, 1, , _图片1)
图片_转换 (图片2, 1, , _图片2)
如果真 (合成底色 = 0)
合成底色 = #白色
如果 (拼接方式)
' 上下拼接取最宽宽度
局_宽度 = 图片_取宽度 (_图片1)
如果真 (局_宽度 < 图片_取宽度 (_图片2))
局_宽度 = 图片_取宽度 (_图片2)

' 上下拼接取两张图片高度和
局_高度 = 图片_取高度 (_图片1)图片_取高度 (_图片2)
局_总位图.创建空白位图 (局_宽度, 局_高度, 32)
计次循环首 (局_宽度, x)
计次循环首 (局_高度, y)
局_总位图.置某点颜色 (x - 1, y - 1, 合成底色)
计次循环尾 ()
计次循环尾 ()
局_左边 = 0
如果真 (图片_取宽度 (_图片1) ≠ 局_宽度)
局_左边 = 到整数 ( (局_宽度 - 图片_取宽度 (_图片1)) ÷ 2)
局_单位图.从数据创建 (_图片1)
局_单位图.复制到 (局_总位图, 0, 0, 图片_取宽度 (_图片1), 图片_取高度 (_图片1), 局_左边, 0)
处理事件 ()
局_左边 = 0
如果真 (图片_取宽度 (_图片2) ≠ 局_宽度)
局_左边 = 到整数 ( (局_宽度 - 图片_取宽度 (_图片2)) ÷ 2)

局_单位图.从数据创建 (_图片2)
局_单位图.复制到 (局_总位图, 0, 0, 图片_取宽度 (_图片2), 图片_取高度 (_图片2), 局_左边, 图片_取高度 (_图片1))
处理事件 ()



' 左右拼接取最高高度
局_高度 = 图片_取高度 (_图片1)
如果真 (局_高度 < 图片_取高度 (_图片2))
局_高度 = 图片_取高度 (_图片2)

' 左右拼接取两张图片宽度和
局_宽度 = 图片_取宽度 (_图片1)图片_取宽度 (_图片2)
局_总位图.创建空白位图 (局_宽度, 局_高度, 32)
计次循环首 (局_宽度, x)
计次循环首 (局_高度, y)
局_总位图.置某点颜色 (x - 1, y - 1, 合成底色)
计次循环尾 ()
计次循环尾 ()
局_顶边 = 0
如果真 (图片_取高度 (_图片1) ≠ 局_高度)
局_顶边 = 到整数 ( (局_高度 - 图片_取高度 (_图片1)) ÷ 2)

局_单位图.从数据创建 (_图片1)
局_单位图.复制到 (局_总位图, 0, 0, 图片_取宽度 (_图片1), 图片_取高度 (_图片1), 0, 局_顶边)
处理事件 ()
局_顶边 = 0
如果真 (图片_取高度 (_图片2) ≠ 局_高度)
局_顶边 = 到整数 ( (局_高度 - 图片_取高度 (_图片2)) ÷ 2)

局_单位图.从数据创建 (_图片2)
局_单位图.复制到 (局_总位图, 0, 0, 图片_取宽度 (_图片2), 图片_取高度 (_图片2), 图片_取宽度 (_图片1), 局_顶边)
处理事件 ()
局_拼接结果 = 局_总位图.取出位图数据 ()
返回 (局_拼接结果)



补充内容 (2019-4-4 11:57):
有易友反馈说有bug会导致拼接的图片上面是黑的,如果有遇到请使用精易模块7.2以上版本,7.2已经收录了该子程序

图片_拼接1.e

794.33 KB, 下载次数: 280, 下载积分: 精币 -2 枚


作者: ╰仅冇旳執著    时间: 2019-3-29 13:19
不知道怎么往精易模块贡献代码,希望精易模块收录
作者: 大表哥曹    时间: 2019-3-29 13:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: gavinfly    时间: 2019-3-29 13:36
挺好的,代码很干净,支持!
作者: kyo9766    时间: 2019-3-29 13:41
学习学习方法,感谢分享
作者: F西瓜    时间: 2019-3-29 14:22
不错不错 学习一下
作者: batcd    时间: 2019-3-30 13:44
谢谢分享不错
作者: 功夫熊猫99    时间: 2019-4-1 09:28
厉害了,支持下大佬
作者: 1062771045    时间: 2019-4-3 20:56
用了下 貌似有bug  就拿例子来说 不知道为什么我生成和的上面的图片永远是黑的 只有下面图片
作者: 10008508    时间: 2019-4-6 17:02
再加点功能就更完美了
作者: 1024340498    时间: 2019-4-19 22:22
666666666666666666666666666666666666666666666
作者: dongdong163    时间: 2019-4-20 17:04
666666666666666666666666666666666666666666666
作者: epwne    时间: 2019-12-18 12:29
        支持开源~!感谢分享
作者: long5tianxia    时间: 2020-7-18 11:31
很不错的源码,需要用。就是写出jpg占内存大了很多。需要在转化一下才小点。
作者: zhangyingxin    时间: 2020-7-30 15:54
快速回复可获得精币
作者: 猫的树和我的你    时间: 2021-10-8 19:32
问一下 不需要居中下面图片怎么弄
作者: zaochen0391    时间: 2022-2-1 17:36
有bug 会崩溃 多线程会加大崩溃几率
作者: Strator    时间: 2022-4-27 10:21
正好是我需 要的,
作者: 乐呵熊    时间: 2022-7-9 16:42
学习下~~谢谢
作者: 乐呵熊    时间: 2022-7-9 16:42

学习下~~谢谢
作者: luoling555    时间: 2024-1-16 22:06
楼主,没想明白,为什么拼接出来的图片那么大,而且拼接的速度很慢,有没有更优化的方法
作者: 漫天飞心    时间: 2024-6-29 01:36
luoling555 发表于 2024-1-16 22:06
楼主,没想明白,为什么拼接出来的图片那么大,而且拼接的速度很慢,有没有更优化的方法 ...

因为是位图bmp,可以输出来后用图片_转换1压缩下图片大小,但是确实非常慢
作者: shoe8    时间: 2025-1-2 16:33
学习下~~谢谢
作者: 独倚斜阳    时间: 2025-5-19 05:28
谢谢好人!!!!!!!!!
作者: dhqige520    时间: 2025-5-27 21:13
1111111111111111




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4