t3486784401 发表于 2021-2-23 02:04:56

【图标】写个C程序释放墨水屏的天气图标

本来想折腾墨水屏的天气图标,结果一看图标还不少,而且已经取模(ico_6464.h)。
这先搞第一步吧,释放这些图标;以后想编辑了再说。

这里得感谢版主的辛勤劳动,这么多图标取模也是够费事的。


【原理】
墨水屏使用的天气图标是 64px * 64px 分辨率的,位深度为 1bpp,因而每个图标占 64*64/8= 512(Bytes).
这个位深度与 Windows BMP 图像是有重叠的,因而可以考虑将 ico_6464.h 释放成 bmp 文件。

关于 bmp 文件格式,属于 Windows GDI 内容,在 MSDN 上有不少描述,这里大致说明下:



经过一堆文件头(BITMAPFILEHEADER+BITMAPINFOHEADER)、调色盘(RGBQUAD)以后,
各个像素和字模类似:横向取模,高位在先,从下到上逐个存储。

虽然取模方式与墨水屏完全相反,但可以用 C 语言逐个翻转过来。


【代码】
代码我用了含 MFC 的控制台,直接运行就输出了所有的 bmp 图片,效果如下:



附上代码(含可执行文件):

解包后直接运行 release 目录下的可执行文件即释放 bmp 文件。
文件名是天气图标序号,貌似 json 服务器就是用该序号区分图标的。

--------------------------------------------------------------------------------------------------------

以上,借用 bmp 文件释放了开源墨水屏的天气图标,供大家参考。

最后祝大家折腾愉快!

weiwei4 发表于 2021-2-23 07:18:39

厉害了
下一步是修改图标?

网络孤客 发表于 2021-2-23 11:09:32

厉害,数据还原代码。

网络孤客 发表于 2021-2-23 11:11:19

weiwei4 发表于 2021-2-23 07:18
厉害了
下一步是修改图标?

看哪个图不顺眼,直接改,再取模,替代相应数据段。

liang_work 发表于 2021-2-23 11:18:42

这就是DIY的乐趣……。帮顶……

t3486784401 发表于 2021-2-23 14:11:08

weiwei4 发表于 2021-2-23 07:18
厉害了
下一步是修改图标?

预计下一步修改几个玩玩

t3486784401 发表于 2021-2-23 14:11:52

网络孤客 发表于 2021-2-23 11:11
看哪个图不顺眼,直接改,再取模,替代相应数据段。

{:handshake:} {:handshake:}

fengyunyu 发表于 2021-2-23 14:14:12

全栈,大神

okplay 发表于 2021-2-23 21:01:44

64x64

https://github.com/qwd/WeatherIcon/tree/master/weather-icon-S1/bw-64

xuekcd 发表于 2021-2-23 21:03:41

哇!真好!

网络孤客 发表于 2021-2-24 09:22:50

mcu005 发表于 2021-2-27 09:39:44

这么多图标,都记不住吧

网络孤客 发表于 2021-2-27 10:46:17

mcu005 发表于 2021-2-27 09:39
这么多图标,都记不住吧

不用记,屏上有中文显示。
页: [1]
查看完整版本: 【图标】写个C程序释放墨水屏的天气图标