查看完整版本: [-- 【求助】会编程的高手来帮下我啊(1OOOFYB) --]

【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】 -> 【 幽幽茶馆 | Tea bar 】 -> 【求助】会编程的高手来帮下我啊(1OOOFYB) [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

<<   1   2  >>  Pages: ( 2 total )

YZB 2006-08-21 23:25

因为某些图片文件需要打开,但是这些图片是组合在一个文件里面的,目前我的方法是一个一个抽出来,不仅累也很麻烦,所以想请高手帮忙编写一个程序,不知道能不能行~

先说一下,图片文件是GBIX......PVRT这样开头的(看了附件的文件应该很清楚),组合的图片文件就是第一个GBIX....PVRT然后接着到第2个GBIX以前是第一张的图,然后第2个GBIX....PVRT开始,再在第3个GBIX前面是第2张的图,后面依次类推.....

这是我朋友想的原理:
检测字符序列,如果和“PVRT”相同,那么记录P开始的偏移地址,然后查找下一个GBIX或者PVRT,
找到、或者到达文件末尾,就把之前的那个地址到当前的地址之间的字节输出
(我只能输出成文件,不知道用VB等windows编程怎么显示出来)
然后,处理下一个PVRT,直到文件末尾


我传了个附件,里面有我自己抽出来的4个图和一个原来本身4张组合在一起的图....

附件里放了可以用PS打开那种PVR格式的插件....

我想要的就是,能直接把那个组合的文件打开后,就能全部查看到4张图片,而不是只能看到第一张~


补充说明:只要能看到全部的图就可以了,不需要能自动转成JPEG的图(当然您写的能支持的话最好了,不行也不强求,重要的是能看啊)


麻烦高手帮下忙啊,谢谢啊!
有重谢啊!

还有不明白的可以PM我或者跟帖啊

elly 2006-08-21 23:32
好象很容易的样子哦......

YZB 2006-08-21 23:34
是吗?
但是我菜得很啊,不会啊~

楼上兄弟会的话可以试试啊~

神秘游侠 2006-08-22 00:51
LZ的意思是,把一个合并的PVR文件分割成对应的各个图片文件
这一步骤LZ已经用语言实现了?现在LZ想要直接一次性打开一个文件里所有图片,甚至于想要一次性把一个合并的PVR转化成相应的多个JPG文件?
把一个PVR分数个,这一点相信很多人都能做到,如果要直接打开......
唔唔......这个已经不是我等初学者的水平了......除非了解PVR的格式......不知道LZ给的老外的网站上有没有资料啊


难道,汉化那个什么电波小子的工作还在继续吗......游戏没玩过,不过看图片不像啊

YZB 2006-08-22 00:55
引用
引用第3楼神秘游侠2006-08-22 00:51发表的“”:
LZ的意思是,把一个合并的PVR文件分割成对应的各个图片文件
这一步骤LZ已经用语言实现了?现在LZ想要直接一次性打开一个文件里所有图片,甚至于想要一次性把一个合并的PVR转化成相应的多个JPG文件?
把一个PVR分数个,这一点相信很多人都能做到,如果要直接打开......
唔唔......这个已经不是我等初学者的水平了......除非了解PVR的格式......不知道LZ给的老外的网站上有没有资料啊

.......



恩恩,资料我找看,有的...

我的意思就是想用某个软件能直接打开多个PVR组合的文件图层,并且要都能显示的那种,至于能不能直接批量转换成JPEG的到无所谓啊....

其实组合的文件不是PVR格式的,我只是把后缀名改了~

PS:不是MD的游戏啦,呵呵~

xiao555 2006-08-22 09:36
原来不只我下狠手,YZB也可以啊...........

williw 2006-08-22 09:57
原来是PowerVR2显卡用的东西,多半是dc的贴图文件吧。
这个显卡的技术已经被intel收购了。
既然已经能把pvr从打包文件里面抽取出来,就可以用这个东西预览查看转换了。
比用ps方便一点

dolphin 2006-08-22 10:20
我不会,不过我最近要学。
嘿嘿!图象编程和声音编程是我弱项!

glf999 2006-08-22 11:25
我只找到一点点相关资料不是很多

是关于贴图的 VQ 文件的

您下载来看看吧

kofkofkofkof 2006-08-22 11:37
引用
引用第5楼Xiao5552006-08-22 09:36发表的“”:
原来不只我下狠手,YZB也可以啊...........

YZB是用你的FYB下的毒手啊

YZB 2006-08-22 15:17
引用
引用第6楼williw2006-08-22 09:57发表的“”:
原来是PowerVR2显卡用的东西,多半是dc的贴图文件吧。
这个显卡的技术已经被intel收购了。
既然已经能把pvr从打包文件里面抽取出来,就可以用这个东西预览查看转换了。
比用ps方便一点




谢谢,但是还是不能看组合的图啊??

恩,这个虽然我也有了,但是你的这个好象功能比我的多点???

转200FYB,已示感谢~

另外关于这个的浏览器算上你这个的话已经有4个了
1 PS插件
2 你给的
3 一个官方的(好象很详细,但是也不能打开组合的)
4 一个和你这个差不多的,但是不会用...

kof95达人 2006-08-22 18:41

我不会
呵呵
GXYZB转正了

xiao555 2006-08-22 18:45
LS灌水也要有技术含量啊~~~~

kof95达人 2006-08-22 18:55
LS的莫非想说
水区不能跑题灌水?

YZB 2006-08-22 19:39
水区可以灌水哦~
只是大家还是帮我想想办法解决问题先啦~

kof95达人 2006-08-22 19:41
我帮你问问朋友吧^-^

YZB 2006-08-22 19:44
谢谢啊,只要有一丝希望就不能放过啊,这就是我的忍道

elly 2006-08-23 09:11
那就分层再用那些软件打开啊,用winhex就可以做到了。

xiao555 2006-08-23 09:25
引用
引用第13楼kof95达人2006-08-22 18:55发表的“”:
LS的莫非想说
水区不能跑题灌水?

灌水要向我学习,说别人在灌水,实际上自己本身就是在灌水..........

YZB 2006-08-23 09:26
引用
引用第17楼elly2006-08-23 09:11发表的“”:
那就分层再用那些软件打开啊,用winhex就可以做到了。



其实我就是用WINHEX分别抽出来打开的,但是这样少还可以,要是有几十个在里面就不能这样进行了,累死啊

拉菲尔 2006-08-23 10:35
能不能说的详细一点,是什么格式的图片?怎么封装到一起的?加密没有?

TNTMAN 2006-08-23 10:41
你出1000RMB估计就有人帮你了……

dolphin 2006-08-23 10:46
1000RMB也未必有人帮你,技术的东西可值钱了!

YZB 2006-08-23 10:47
引用
引用第20楼拉菲尔2006-08-23 10:35发表的“”:
能不能说的详细一点,是什么格式的图片?怎么封装到一起的?加密没有?

应该都没加密,PVR格式的~
或者可以试下另外一种方法,

用16进制器打开某个组合的文件,在遇到以GBIX或者PVRT开头的字样就自动把前面的分割成一个小文件,依次类推~ [attachment=40216]


看我传的那个附件就是1234个图想组合在一起的,能直接切成4快就可以了~

YZB 2006-08-23 10:49
引用
引用第21楼TNTMAN2006-08-23 10:41发表的“”:
你出1000RMB估计就有人帮你了……


这个应该不难吧~

我已经找到切一种格式的方法了,但是只能是切特定的PVM格式,其他都不行~

glf999 2006-08-23 12:32
那能不能 对那个软件进行修改啊?

看看呢个软件是不是搜索特定文字 然后进行分割和合并

要是这样 改下那个特定的文字 应该就会支持 pvr了

神秘游侠 2006-08-23 15:39
引用
引用第25楼glf9992006-08-23 12:32发表的“”:
那能不能 对那个软件进行修改啊?

看看呢个软件是不是搜索特定文字 然后进行分割和合并

要是这样 改下那个特定的文字 应该就会支持 pvr了


都说了分割文件不难了,无论VB,VC,乃至JAVA,但是LZ的要求是直接看多层图哇

现在俺最想知道的是那个该死的PVR文件编码是什么样的,假设我有一个PVR文件我怎么编个算法来翻译成一个一个像素,最后成为一张图片

YZB 2006-08-23 15:50
要求降低了啊,能分割文件就可以了~
至于想研究编码,可以加我QQ,我传点资料给你啊~
谢谢啊~

拉菲尔 2006-08-23 23:44
引用
引用第24楼YZB2006-08-23 10:49发表的“”:


这个应该不难吧~

我已经找到切一种格式的方法了,但是只能是切特定的PVM格式,其他都不行~

你发的这个是不难,
你的意思是同一个文件中不只一种封装格式?

YZB 2006-08-24 00:14
引用
引用第28楼拉菲尔2006-08-23 23:44发表的“”:

你发的这个是不难,
你的意思是同一个文件中不只一种封装格式?



我的意思是说,这类PVR图片组合的文件后缀不同而已,我找到的软件只能固定解开后缀是PVM格式组合的PVR文件,如果是别的后缀格式的话是解不开的,就算是修改后缀也不行.....

神秘游侠 2006-08-24 00:42
因为LZ降低了要求,所以已经搞定了

虽然只是几K的小玩意,还是请LZ出来自己查收吧,就不贴出来丢人了,当然LZ自己愿意贴就另当别论

         

拉菲尔 2006-08-24 09:39
引用
引用第29楼YZB2006-08-24 00:14发表的“”:



我的意思是说,这类PVR图片组合的文件后缀不同而已,我找到的软件只能固定解开后缀是PVM格式组合的PVR文件,如果是别的后缀格式的话是解不开的,就算是修改后缀也不行.....

所有文件都有你说的特点吗?
ps:楼上解决问题了吗?

glf999 2006-08-24 11:21
pvr查看器可以看 多合一pvr包

只是楼主没有找到适用方法

不过有个bug

就是pvr 里面的全局索引代码被忽略了

要是能把这个恢复就完美了

这软件还支持PVM的查看

williw 2006-08-24 11:46
就是这样的了
那个全局代码一样的东西,肯定是有的。
不然游戏每次都要自己扫描pvr文件,这种做法显得相当愚蠢。
只是,不知道藏在哪一个文件里面。

YZB 2006-08-24 17:31
是啊是啊,我的问题神秘游侠兄弟解决了一点哦,认识他说还不是很好,所以呢,就接着求啦`



PS:williw是啊是啊,我试过了可以,应该能通过90%的格式了,但是貌似还有10%不行,目前在找这类的文件呢

williw 2006-08-24 17:52
似乎文件格式不一样了,
比如上次你给我的那个once.plz文件的格式和1+2+3+4.pvr的文件格式是不一样的。

YZB 2006-08-24 17:56
是啊是啊,这类的格式就不同了,有的不是GBIX开头的,GBI后面跟个符号才写X,NND,真是麻烦啊~
还有一些索引短了很多,本来GBIX一行.PVRT一行的,这个切是2个才一行

williw 2006-08-24 19:00
以PVRT开头的才是真正的pvr文件,只是看图的话,完全可以无视GBIX。
前面的GBIX把pvr包装成了一个新文件。
就1+2+3+4.pvr文件里面的规律而言,
1,3是记录的同一个模型的不同颜色的纹理,在GBIX后面跟着的是十六进制数分别是 74 ,75
而2,4完全一样,都是这个模型的alpha信息,后面的数字是65,65,
纹理一样,数字也一样,很有意思,不知道干嘛用的。

YZB 2006-08-24 19:35
GBIX 后面紧跟的 4个字节 代表 GBIX数据有多少个字节,PVRT 后面的 4个字节 也是这个意思
PVRT 这16个字节的第9位,代表每个像素是用什么格式描述的(ARGB1555,RGB565,YUV,4BPP等等)
第10位,代表整个图片的格式,也就是各个像素是用什么规则排列成一幅图片的,这个就是上面说到的 12,当然本来应该是16进制然后要转换成10进制的,但没有发现DC里面有其他格式,所以我和Babywolf讨论的时候就不转换了
最后4个字节,前两位是图片宽度,后两位是图片高度
02 叫twiddled & mipmap
上次《斑鸠》汉化的时候用到01、05、09这三种,在3D模型的贴图中还用到04、12(可能还有其他),但与汉化无关,所以没有研究
05、12肯定不能直接打开,04没有试验过


偷偷发上来

神秘游侠 2006-08-24 20:02
引用
引用第38楼YZB2006-08-24 19:35发表的“”:
GBIX 后面紧跟的 4个字节 代表 GBIX数据有多少个字节,PVRT 后面的 4个字节 也是这个意思
.......

比较狠的是那几个字节要从后往前读才读得到正确的数据,比如 68 1D 00 00
实际表达的是1D68这个HEX数,我倒
引用
引用第38楼YZB2006-08-24 19:35发表的“”:
最后4个字节,前两位是图片宽度,后两位是图片高度
.......

这个,至少可以多获得一点文字信息......

YZB 2006-08-24 20:06
引用
引用第39楼神秘游侠2006-08-24 20:02发表的“”:

这个,至少可以多获得一点文字信息......



那个都是高位在后,底位在前的

神秘游侠 2006-08-24 20:12
引用
引用第40楼YZB2006-08-24 20:06发表的“”:



那个都是高位在后,底位在前的

还真不太清楚
是说计算机数据存储的要求吗
比如Integer型数43707,换16进制是AABB,但无论存什么计算机,那两个字节都是BB,AA吗

williw 2006-08-24 20:17
嗯,bb aa,经常修改游戏就会背下来,999就是E7 03

”GBIX 后面紧跟的 4个字节 代表 GBIX数据有多少个字节“
原来是这样的
47 42 49 58|08 00 00 00|74 00 00 00
我居然把08看成和前面的是一起的了。

YZB 2006-08-24 20:43
另外小声的问下,那个软件能分开的话能组合吗?
比如把1 2 3 4组合成1+2+3+4那个图

神秘游侠 2006-08-24 21:00
引用
引用第43楼YZB2006-08-24 20:43发表的“”:
另外小声的问下,那个软件能分开的话能组合吗?
比如把1 2 3 4组合成1+2+3+4那个图

说起来算法上组合比分离容易啊......直接读写就OK
但是其他方面就麻烦很多......
是你要急用吗?

YZB 2006-08-24 21:48
不急啊,只是想知道能不能这样做呢,能的话麻烦兄弟抽点时间做个啦

williw 2006-08-24 22:21
晕死,和朋友一起又分析了一下,没想到结构那么复杂
以1.pvr来说明,
它从一开始是GBIX文件,后面是pvrt文件,接着是MIDX文件,再来是NJCM文件,最后是PVRK文件。
一共由5个文件组合起来。图形文件只是其中的一部分。
分的时候是好分。合的时候,得注意点了。

YZB 2006-08-24 22:59
我就知道肯定不好合的啦

神秘游侠 2006-08-25 00:35
引用
引用第46楼williw2006-08-24 22:21发表的“”:
晕死,和朋友一起又分析了一下,没想到结构那么复杂
以1.pvr来说明,
它从一开始是GBIX文件,后面是pvrt文件,接着是MIDX文件,再来是NJCM文件,最后是PVRK文件。
一共由5个文件组合起来。图形文件只是其中的一部分。
分的时候是好分。合的时候,得注意点了。


难道说一个文件里的多个图片是相互有什么关联的
那就麻烦大了........

jinmi6001 2006-08-29 16:25
楼主不知还在不在关注这个贴子,或者说已经解决问题了,那就不用往后看了.
我看了楼主发的附件,按照楼主的思路,用C#做了一个分离文件的代码,用楼主发的文件测试可以分成四个,不知道用于别的文件可不可以,我还没设计窗体,只是写了一段简单的代码,若是楼主有兴趣的话,我整理编译一下,发上来,我学这个时间不长,只会用C#,所以楼主要想正常运行C#编写的代码的话,必须装微软的FRAMEWOR1.1.我家里没装环境,只能在单位用空闲的时间做了.最好楼主在发一个PVR格式的图片,我分解来试试.(N年不来论坛一次,昨天鬼使神差的看到贴子,呵呵)


查看完整版本: [-- 【求助】会编程的高手来帮下我啊(1OOOFYB) --] [-- top --]


Powered by PHPWind Code © 2003-08 PHPWind
Gzip enabled

You can contact us