OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3959|回复: 15

请问有大神做过板子里的图片合成功能吗?

[复制链接]

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2020-8-7 10:41:23 | 显示全部楼层 |阅读模式
50金钱
最近接触到要在板子里合成图片的需求,以下图为例进行说明

jiage.png

板子中存储该图片,读取之后,根据用户设定的价格对指定区域进行修改,然后生成新的图片用于显示。比如用户设置 (40,100),板子这边要生成一个内容是领券立减40元,到手价RMB100的图片

请问是否相关的库能够辅助完成此功能?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8665
金钱
8665
注册时间
2020-5-11
在线时间
4131 小时
发表于 2020-8-7 10:58:44 | 显示全部楼层
本帖最后由 LcwSwust 于 2020-8-7 11:02 编辑

这需要啥合成?看起来就是在指定位置显示文字(或图片)啊。先把这图显示出来,再在需要的位置显示自定义的图,就给它挡住了呗。
还是说需要自动识别前景色、背景色、文字高度宽度?
专治疑难杂症
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-7 13:08:29 | 显示全部楼层
LcwSwust 发表于 2020-8-7 10:58
这需要啥合成?看起来就是在指定位置显示文字(或图片)啊。先把这图显示出来,再在需要的位置显示自定义的 ...

不是两张图相互遮挡的关系,要根据模板和用户数据生成一张新的图片,显示的时候只能显示一张图
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8665
金钱
8665
注册时间
2020-5-11
在线时间
4131 小时
发表于 2020-8-7 13:12:53 | 显示全部楼层
HCHDaLeiGe 发表于 2020-8-7 13:08
不是两张图相互遮挡的关系,要根据模板和用户数据生成一张新的图片,显示的时候只能显示一张图

只能显示一张图,没问题啊,先在内存中处理好了再整体发到显示屏呗。
就是说把内存当作显示器,先显示背景图,再显示需要的数字,最后发送给显示屏。
专治疑难杂症
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-7 13:33:46 | 显示全部楼层
LcwSwust 发表于 2020-8-7 13:12
只能显示一张图,没问题啊,先在内存中处理好了再整体发到显示屏呗。
就是说把内存当作显示器,先显示背 ...

对,是这么个流程,现在的问题是需要显示的数字怎么做到图片里去,板子里只有原始模板一张图
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8665
金钱
8665
注册时间
2020-5-11
在线时间
4131 小时
发表于 2020-8-7 14:02:18 | 显示全部楼层
HCHDaLeiGe 发表于 2020-8-7 13:33
对,是这么个流程,现在的问题是需要显示的数字怎么做到图片里去,板子里只有原始模板一张图

傲游截图20200807135940.jpg
PCtoLCD2002了解一下
不知有没有相同的字体,字体不同也没关系吧?
如果有0至9的数字的图片,那就好办了。


专治疑难杂症
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-7 14:10:07 | 显示全部楼层
LcwSwust 发表于 2020-8-7 14:02
PCtoLCD2002了解一下
不知有没有相同的字体,字体不同也没关系吧?
如果有0至9的数字的图片,那就好 ...

我理解这个软件是在PC上完成的这个功能,有没有办法在板子里完成把数字字母汉字变成图片里像素点的功能?
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8665
金钱
8665
注册时间
2020-5-11
在线时间
4131 小时
发表于 2020-8-7 14:15:32 | 显示全部楼层
本帖最后由 LcwSwust 于 2020-8-7 14:17 编辑
HCHDaLeiGe 发表于 2020-8-7 14:10
我理解这个软件是在PC上完成的这个功能,有没有办法在板子里完成把数字字母汉字变成图片里像素点的功能?

这问题我有点蒙,图片在单片机里不就是像素点吗?
楼主是没做过图片的显示?没做过图像取模?
PCtoLCD2002是电脑运行的软件,带字库的,它可以把字的图像转成数组,供单片机程序调用。
专治疑难杂症
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-7 14:31:27 | 显示全部楼层
LcwSwust 发表于 2020-8-7 14:15
这问题我有点蒙,图片在单片机里不就是像素点吗?
楼主是没做过图片的显示?没做过图像取模?
PCtoLCD2 ...

要把PCtoLCD2002做的事放在单片机里去做,不是做好图生成了数据放进去,单片机和外界的接口只有数据本身,比如要改成40,那就只传输一个40,不是传输40在PC端取模之后的数组
回复

使用道具 举报

9

主题

219

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1433
金钱
1433
注册时间
2020-5-12
在线时间
394 小时
发表于 2020-8-7 14:31:37 | 显示全部楼层
你这个图片显示在多大的屏幕上,屏幕上的需要修改的区域的坐标要先确定好,默认图片的修改区域默认值都是0的。当你要修改的时候,在相对应的区域加上你要的显示的数字。用与算法加上去。具体数字转化成数组用上面楼所说的PCtoLCD2002取。图片也可以取成数组的,单片机就是通过这数组来显示图片的。
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8665
金钱
8665
注册时间
2020-5-11
在线时间
4131 小时
发表于 2020-8-7 14:39:26 | 显示全部楼层
HCHDaLeiGe 发表于 2020-8-7 14:31
要把PCtoLCD2002做的事放在单片机里去做,不是做好图生成了数据放进去,单片机和外界的接口只有数据本身 ...

对啊,如同我最开始所说,单片机需要东西有:
1.这个图片转换成的数组,可以用Img2Lcd.exe得到;
2.0~9数字的字库,可以用PCtoLCD2002.exe得到;
3.在指定座标显示图片的函数;
4.在指定座标显示字符的函数(和显示图片也差不多,就是调出字符对应的图片);

专治疑难杂症
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-7 14:44:57 | 显示全部楼层
叶子君 发表于 2020-8-7 14:31
你这个图片显示在多大的屏幕上,屏幕上的需要修改的区域的坐标要先确定好,默认图片的修改区域默认值都是0 ...

我这个项目第一阶段单片机与外界的接口是图片取模后的数组,但是客户认为传输的内容太多了,速度慢,所以在第二阶段要把取模的功能放进单片机去做,单片机与外界的接口只有数据内容
回复

使用道具 举报

9

主题

219

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1433
金钱
1433
注册时间
2020-5-12
在线时间
394 小时
发表于 2020-8-7 17:11:03 | 显示全部楼层
本帖最后由 叶子君 于 2020-8-7 17:12 编辑
HCHDaLeiGe 发表于 2020-8-7 14:44
我这个项目第一阶段单片机与外界的接口是图片取模后的数组,但是客户认为传输的内容太多了,速度慢,所以 ...

用PCtoLCD2002.exe获取 0 -9 的字库,放在单片机的内存里面啊(不一定是内存,也可以其他存储方式)。。。你要显示肯定先有字库啊。
回复

使用道具 举报

12

主题

330

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2294
金钱
2294
注册时间
2016-5-21
在线时间
954 小时
发表于 2020-8-7 17:39:52 | 显示全部楼层
这个容易,指定区域覆盖就行了
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-10 08:27:05 | 显示全部楼层
xxssl 发表于 2020-8-7 17:39
这个容易,指定区域覆盖就行了

额,如果容易,我就不发上来了
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
 楼主| 发表于 2020-8-10 08:29:24 | 显示全部楼层
叶子君 发表于 2020-8-7 17:11
用PCtoLCD2002.exe获取 0 -9 的字库,放在单片机的内存里面啊(不一定是内存,也可以其他存储方式)。。 ...

价格只是举例子,可能是字母数字符号汉字,而且图片是会变化的,提前存储好的字库没法适配所有的图片
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 14:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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