(推荐)T4/T5 导出替换图片简单方法!<作者:8G>

8

8G

游客
喜欢动手的,可以写个程序来完成~~~

经过一夜跟malefic,寒雨,龙的研究,基本方法已经找到了~

只是没形成程序呢。。。有愿意动手的,可以试试~~先跟大家讲一下原理吧~

用T4的D2版为例子~

在D2版AXF里,地址0x1fb950开始,到0x52e79b结束!全为图片~一共有332e4c个字节!

这么多图片都在一块,我们这么分开它替换呢? 嘿嘿,不用急!慢慢来~

因为这么多图片在一起,三星在调用图片的时候,也必须有index的,就跟调用点阵字库一样。

这个index在哪里呢?这里!嘿嘿~~从0x52d980开始到0x52e790结束。共225行。

下面我们来分析这个index文件,实际上特别好分析,16个字节一个单位,每一个单位标记的是一幅图片。

我们用UE打开axf,到0x52d980,刚好一行就是一组16字节,也就是一个图片。

一共225行,也就是有225张图片,index大概清楚了,这么分析呢?

我来举例说明:

比如:52e280H:80 70 00 70 80 74 3C 00 2C 01 00 00 0E 00 00 00

16个字节,一行,也就是一个图片的索引。

前4位,为图片的大小, 为什么用4位呢,因为在LCD显示,需要对每个点进行定义,

所以象计算机上定义长宽是不一样的。我们可以砍掉后2位不看,光看前两位。

80 70 换成10进制,就是128 112 说明这个图片是128X112大小的图片哦。

在后4个字节 80 74 3C 00 就是这幅图片在AXF里的位置!这个最重要了,他的位置是 3C 74 80 !

因为单片里,表示地址位,低位在前,高位在后(好像偶中学学汇编的时候老师就讲过)。

然后,你就去0x3C7480找你的要的图片吧 ^_^

到哪里结束呢,BMP图像数据,没有个结束符什么的(可能有我不知道),

所以,我们只能看下一张图片的开始。

比如 第二张图片是从0x3C7999开始的,那么,上一张图片就是3C7480-3C7998了哦~~

把这段复制了,COPY出来,建立个新文件,写进去~~这样一幅图片就导出来了~

别急,不是导出来的图片你就能看了,还是看不了,因为你导出来的只是BMP图片的数据,并没有

在Windows下显示BMP的文件头!这么办?自己做一个!

做BMP的文件头,可以产考:

http://asp.6to23.com/iseesoft/devdoc/imgdoc/bmp_fileformat.htm

这个里面的文章,或者下载我这篇文章来仔细的阅读一下。

http://210.73.66.79:2003/13.rar

然后定义了文件头,加在刚才导出的文件前面,看一下,^_^

现在方法是这样,希望有爱好的动手的朋友可以写个程序来导,我事情太多,梢后在写吧~~

T5也是同道理的,之是位置不同而已~~

感谢malefic,寒雨,龙等人。。我对图片的格式并不熟悉,也没分析过三星的内置图片~

只是他们一直对技术的执着,才勾起了偶的兴趣哦~

他们对图片格式的研究,绝对比我强哦~~^_^

52e280H:80 70 00 70 80 74 3C 00 2C 01 00 00 0E 00 00 00
~~~~~~~~~~~
至于后面的8位,是载入端口的信息,以及这幅图片在屏幕上停留的时间!一般这个不用去改动的!

所以,这样,即使你把大图片放进去,你也会调用了,不是吗?

这个一定会形成程序的。。。如果你看不明白。呵呵,只能等现成的导入导出程序了~

不过还是大家多动动手,自己弄弄,多有成就哦~~没那么多神秘的东西,都是初级知识!

就说到这里了。。困死了。。去猪拉。。。
 
8

8G

游客
喜欢动手的,可以写个程序来完成~~~

经过一夜跟malefic,寒雨,龙的研究,基本方法已经找到了~

只是没形成程序呢。。。有愿意动手的,可以试试~~先跟大家讲一下原理吧~

用T4的D2版为例子~

在D2版AXF里,地址0x1fb950开始,到0x52e79b结束!全为图片~一共有332e4c个字节!

这么多图片都在一块,我们这么分开它替换呢? 嘿嘿,不用急!慢慢来~

因为这么多图片在一起,三星在调用图片的时候,也必须有index的,就跟调用点阵字库一样。

这个index在哪里呢?这里!嘿嘿~~从0x52d980开始到0x52e790结束。共225行。

下面我们来分析这个index文件,实际上特别好分析,16个字节一个单位,每一个单位标记的是一幅图片。

我们用UE打开axf,到0x52d980,刚好一行就是一组16字节,也就是一个图片。

一共225行,也就是有225张图片,index大概清楚了,这么分析呢?

我来举例说明:

比如:52e280H:80 70 00 70 80 74 3C 00 2C 01 00 00 0E 00 00 00

16个字节,一行,也就是一个图片的索引。

前4位,为图片的大小, 为什么用4位呢,因为在LCD显示,需要对每个点进行定义,

所以象计算机上定义长宽是不一样的。我们可以砍掉后2位不看,光看前两位。

80 70 换成10进制,就是128 112 说明这个图片是128X112大小的图片哦。

在后4个字节 80 74 3C 00 就是这幅图片在AXF里的位置!这个最重要了,他的位置是 3C 74 80 !

因为单片里,表示地址位,低位在前,高位在后(好像偶中学学汇编的时候老师就讲过)。

然后,你就去0x3C7480找你的要的图片吧 ^_^

到哪里结束呢,BMP图像数据,没有个结束符什么的(可能有我不知道),

所以,我们只能看下一张图片的开始。

比如 第二张图片是从0x3C7999开始的,那么,上一张图片就是3C7480-3C7998了哦~~

把这段复制了,COPY出来,建立个新文件,写进去~~这样一幅图片就导出来了~

别急,不是导出来的图片你就能看了,还是看不了,因为你导出来的只是BMP图片的数据,并没有

在Windows下显示BMP的文件头!这么办?自己做一个!

做BMP的文件头,可以产考:

http://asp.6to23.com/iseesoft/devdoc/imgdoc/bmp_fileformat.htm

这个里面的文章,或者下载我这篇文章来仔细的阅读一下。

http://210.73.66.79:2003/13.rar

然后定义了文件头,加在刚才导出的文件前面,看一下,^_^

现在方法是这样,希望有爱好的动手的朋友可以写个程序来导,我事情太多,梢后在写吧~~

T5也是同道理的,之是位置不同而已~~

感谢malefic,寒雨,龙等人。。我对图片的格式并不熟悉,也没分析过三星的内置图片~

只是他们一直对技术的执着,才勾起了偶的兴趣哦~

他们对图片格式的研究,绝对比我强哦~~^_^

52e280H:80 70 00 70 80 74 3C 00 2C 01 00 00 0E 00 00 00
~~~~~~~~~~~
至于后面的8位,是载入端口的信息,以及这幅图片在屏幕上停留的时间!一般这个不用去改动的!

所以,这样,即使你把大图片放进去,你也会调用了,不是吗?

这个一定会形成程序的。。。如果你看不明白。呵呵,只能等现成的导入导出程序了~

不过还是大家多动动手,自己弄弄,多有成就哦~~没那么多神秘的东西,都是初级知识!

就说到这里了。。困死了。。去猪拉。。。
 

惊情

普通会员
2003-06-02
314
0
0
哎,一句话
看不懂!!!!
只有坐享其成了
大家有谁写好了记得共享一下啊
 

乐乐

普通会员
2003-06-02
112
0
0
象我们这种只知其然不知其所以然的人,只有拜托8G等各位大哥抽空把好东东写出来了,呵呵~~~~~`
 

lxcwcy

普通会员
2003-06-02
120
0
0
感谢8G兄的无私分享。

相信有你的启示,我们一定能享受到你的劳动成果的。

感谢!
 

冰河

普通会员
2003-06-02
364
0
0
好像有人在做软件了,等一段时间就会有相应软件出来的.
不过要做出好的动画,不太容易.
 

lefe

普通会员
2003-06-06
917
0
0
我查出了开机、关机、彩虹、来电、拨号、菜单的地址,还有什么在将来希望可以更换的?
 

JOEJIANG

普通会员
2003-06-02
135
0
0
哈哈 跟我想的一样,但是我根本找不到他的位移,所以没有办法呢
我还以为把那一段数据拷贝出来丢到ULTRAEDIT里面建立一个文件然后改名就可以了呢,呵呵 真是笨,原来还要一个文件头数据
获益匪浅
 

寒雨

普通会员
2003-06-02
475
0
0
最初由 lefe 发表
我查出了开机、关机、彩虹、来电、拨号、菜单的地址,还有什么在将来希望可以更换的?
[/Shadow]

大家注意,LEFE就是文中提到的龙。