开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1101|回复: 34
收起左侧

[易语言纯源码] 直接修改窗口EX的底图的一种方案

[复制链接]
结帖率:100% (7/7)
发表于 2024-7-19 04:40:56 | 显示全部楼层 |阅读模式   河南省南阳市
分享源码
界面截图: -
是否带模块: 调用了模块
备注说明: -
本帖最后由 暮烟疏雨 于 2024-7-19 15:16 编辑

也许大家都曾遇上这个问题
在使用EXUI的时候,想要修改窗口的底图
当然是直接了当的在皮肤编辑器里面弄底图
可是若我们想要读取本地图片文件(使用图片的字节集)来设置底图
又该怎么办呢?
我在论坛寻找到的平替办法,都是在底部加个图片框,让图片框来当底图···
但是这样终归有些不太完美,于是我思考怎么修改底图
EXUI的皮肤编辑器,生成出来的文件是以.SkinEx为后缀的
EXUI可以直接进行读取这个字节集,然后进行设置底图
嘿,似乎还是不太对,我们需要的是使用图片的字节集,而不是.SkinEx的字节集
(例如:用户想自定义背景图,你总不能让用户生成一个.SkinEx吧?)
可是底图明明就是存放在这个.SkinEx文件里面的
于是我研究了一下.SkinEx这个文件
以下讲解制作过程,很简单···
我先是使用EXUI的皮肤编辑器,用a.jpg当作底图,然后生成了一个a.SkinEx文件
我发现a.SkinEx里面,直接有一段字节集就是a.jpg的字节集!
既然如此,想要修改底图,那么直接将a.SkinEx文件的那一段字节集(即a.jpg的字节集)替换成其他图片的字节集(如b.jpg)不就好了?
可是我直接进行替换之后,用EXUI的皮肤编辑器进行读取,却发现还是不能正常读取···
于是我又想,EXUI的皮肤编辑器,读取.SkinEx文件,一定是要先发现图片的位置,然后再读取
那么图片的位置又如何决定呢?
这自然而然的就能联想到图片的字节集长度大小(然而其实想了很久···甚至想到了文本等乱七八糟的···)
于是我试探性的在a.SkinEx文件里面寻找一下字节集(此次寻找的字节集为a.jpg的字节集长度,将这个长度弄到字节集())
嘿,还真能搜到(我在a.SkinEx里面搜到的位置是531)
此时,我们发现,在a.SkinEx文件里面
存放了a.jpg的文件长度,和a.jpg的字节集
那么,我们只需要替换掉a.jpg的文件长度和a.jpg的字节集不就好了?
测试一下!
Nice!成功了!可以正常读取!!!
相信大家只要阅读了制作过程,都可以写出来这段代码
我写的代码,如果不弄变量,不考虑可读性的话,只有一两行···
附件为源码
调用了精易模块,但仅使用字节集_子替换()函数,此函数功能可用核心支持库自己做到,但是我懒···
源码如下 aa.e (996.86 KB, 下载次数: 11)

评分

参与人数 4精币 +6 收起 理由
光影魔术 + 2 开源精神必须支持~
baitso + 1 支持开源~!感谢分享
小翁哥哥 + 2 很赞同,谢谢!
多多帅吧 + 1 大神,请收下我的膝盖

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (7/7)
 楼主| 发表于 2024-7-19 15:02:12 | 显示全部楼层   河南省南阳市
本帖最后由 暮烟疏雨 于 2024-7-19 15:17 编辑

!!!!!!!!!!!!!发现.SkinEx文件里面还存了图片文件的分辨率!!!用来确定缩放的大小!!!!!!!!!!!!!现在你使用我这个源码,只能替换分辨率一样的图片,不然的话缩放会出大问题!!!请各位等我再改一下,改完之后里面上传!!!
代码如下
这次应该万无一失了!!
和主楼里面最后的代码一样!!如果下载了主楼最后一个,就不必下载这个了!!!
修改后版本.e (997.25 KB, 下载次数: 4)
回复 支持 反对

使用道具 举报

结帖率:87% (20/23)

签到天数: 1 天

发表于 2024-8-14 01:44:56 | 显示全部楼层   广东省深圳市
模块自带有替换命令  

点评

https://bbs.125.la/forum.php?mod=viewthread&tid=14683308&extra=   广东省深圳市  发表于 2024-8-14 01:45
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 9 天

发表于 2024-7-24 03:59:46 | 显示全部楼层   重庆市重庆市
写一个skinEx的编辑器就好了呀,其实就是配置文件存放数据,有大小有长度有字节集。
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 11 天

发表于 2024-7-23 15:39:17 | 显示全部楼层   辽宁省沈阳市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

发表于 2024-7-22 09:33:22 | 显示全部楼层   广西壮族自治区柳州市
感谢分享源码
回复 支持 反对

使用道具 举报

签到天数: 17 天

发表于 2024-7-21 09:38:57 | 显示全部楼层   浙江省宁波市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

结帖率:94% (29/31)

签到天数: 9 天

发表于 2024-7-20 17:30:18 | 显示全部楼层   甘肃省*
感謝分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 17 天

发表于 2024-7-20 14:49:40 | 显示全部楼层   广西壮族自治区玉林市
感谢分享 !
回复 支持 反对

使用道具 举报

签到天数: 17 天

发表于 2024-7-20 09:36:41 | 显示全部楼层   浙江省宁波市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 18 天

发表于 2024-7-20 08:51:30 | 显示全部楼层   山东省淄博市
感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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