设为首页收藏本站官方微博

其他 TGA图片字库制作

[复制链接]
查看: 5786|回复: 12
打印 上一主题 下一主题

[其他] TGA图片字库制作

跳转到指定楼层
楼主
发表于 2011-7-4 17:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

TGA图片字库制作

我很想加入这个行业,而且有足够的时间、耐心。最近我拿个小游戏学学,先分析了一下。显示文字是TGA图片字库,已经得到这个字库了,现在该到制作新字库TGA了。网上搜了一下,找到了Bitmap工具,这个工具确实很不错。
6 a7 z0 C( }! V' K我想知道的是,能不能原字库图片的宽度和字母的各类参数不变的情况下,再加新的字符?首先新加字符然后得到字符参数还是按预设的参数来新加字符?是PS来实现?(我估计PS定坐标很麻烦)0 G0 I& k% F/ r- U
那位热情的大侠请教一下小弟。谢谢~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

13#
发表于 2011-7-5 16:39 | 只看该作者
回复 rinat 的帖子
& S# A( F+ a6 J7 x6 m2 _" P" n
$ m* B% u: H! M( W; Shttp://www.game798.com/html/2007-03/3147.htm
2 B' o0 `' q) J( E' N+ @# K# _1 R& v) _# D' R4 _; @
希望对你有用,一个TGA库.其实百度一下.挺多的.只要能将生成的像素位图转换为带通道的TGA就可以了,至于压缩或者非压缩,看你的游戏了,反正这种库都支持.9 I( a6 V0 W: P4 {2 B
* L, i( l- i3 q: P9 [
还有就是,如果你要用现成的软件修理字库图,首先你的新的文字量要少,比如几个或者几十个,那么工作量可以接受,如果你要把一个A码的TGA字库扩充到U码,那么手动...我觉得不显示,至少我这种等级的闲人做不来..
$ ?" f1 Z- \6 s( Z! @  V
, I" Y7 k9 {6 K7 A总结一下,个人感觉,字库的话.还是自己写个小软件,来的快.因为你不是想还是使用原来的方式进行字库读取么。
) S3 {+ s6 `3 u( ^+ i# c' z) h. r9 O4 @, r
或者还有2条路,inject,劫持掉他的显示方式,直接用你的绘图方式来输出文字,007大仙很熟悉,你可以PM或者QQ或者怎么怎嘛他.
: ~9 V9 u  D; o" f1 Z8 |% M. D# {4 F
8 b8 U- w& u& H: r! X6 n: s* m最后一条路就是放弃.
回复 支持 反对

使用道具 举报

12#
发表于 2011-7-5 16:33 | 只看该作者
魔鸢 发表于 2011-7-4 18:20
1 k- h3 s1 h. G' P0 jTGA图片字库一向都是美工的活,童鞋,你要汉化的话就完全搞错方向了,抠鼻~~~
7 F6 A" s' S, M! u6 O
生成字库这种东西交给美工嘛?看来美工需要去学编码,尤其是了解图像相关API,然后去写代码,生成包含需要的字符的图片了...
回复 支持 反对

使用道具 举报

11#
发表于 2011-7-5 14:52 | 只看该作者
本帖最后由 solidji 于 2011-7-5 14:52 编辑
6 Q% G4 W9 v2 a8 f/ K/ P  C& D" [9 }9 }
重新做一张更方便, m$ i; B5 c+ f" S. Y2 q, ^
如果非要加在后面,也可以自己实现- \/ v8 T2 J. j( [
我给你提供个思路。我们先假设原来的字库你已经找到,并且是纹理图片字库9 L* q( ?( O/ R5 i3 l
首先
, s1 u9 f) s) Y& J8 f* }! Q7 N4 wCreateVertexBuffer(sizeof(CnFontVertex)*6*8192, D3DUSAGE_DYNAMIC, FVF, D3DPOOL_SYSTEMMEM, ppVertexBuffer,pSharedHandle);//创建一个包含8192个字符的足够大的字库缓存
" M/ w2 Q2 {7 |; r- {                g_pFontVertexBuffer = *ppVertexBuffer;
* b" @; M# u" P! X7 p, L                g_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);! s" }2 F8 K  \; i( ]+ V" ]
                g_pFontVertexBuffer->Unlock();
3 z; x, D/ G# n/ i8 }6 u2 g  A8 X0 v; G  t) o. ?$ D
CString font = _T(".\\font.bmp");//这个是自己要添加的新的字库
  M" g. \- b$ N( _! h$ k                        D3DXCreateTextureFromFileEx(
8 k+ l3 G8 a9 W9 h                        m_device,1 S# z1 b" q2 T+ ~/ f4 i. a
                        font,
5 Y" w9 O( t3 b                        D3DX_DEFAULT,/ w* V7 \& o" r* m7 i) M
                        D3DX_DEFAULT,; B! ^% V6 u/ o- P# k9 V
                        D3DX_DEFAULT,6 z0 V$ g- U5 V
                        0,
/ \2 }1 s) B  [. b* J                        D3DFMT_A1R5G5B5,4 c  G, F# w8 e! b
                        D3DPOOL_MANAGED," Q  L* M( P9 q  |! V
                        D3DX_FILTER_TRIANGLE,
1 D9 A7 x7 u( Y0 I$ Q$ X$ P                        D3DX_FILTER_TRIANGLE,
0 o6 r2 D$ H1 b5 f& S+ C                        D3DCOLOR_RGBA(0, 0, 0, 255),
' B' T; V( _: Z( ?& P, |                        NULL,$ q% Z; b& ]# c9 {
                        NULL,. v2 w5 D1 w: w' C- X% G5 ^
                        &Tex);% K1 Y( ^  ^) _- G. A, K
" N9 n' W% b1 k+ I8 g3 ~2 e) f7 Q
IDirect3DTexture9* in = Tex->Lock(0, pDesc.Size, &pbData, D3DLOCK_READONLY);
' o; c0 I. ]0 ^" U5 @2 h8 @9 ?把Tex里的数据lock到pbData' s3 |2 E. b' H6 q3 Q8 E$ W
然后把pbData里的数据copy到mem接在原本的字库后面
" Z# @0 y* t0 h5 q# X8 Bg_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);% o$ \4 B+ m- P3 U* i
memcpy(pbData,mem,len);: R) S  D: B6 d9 f9 y
g_pFontVertexBuffer->Unlock();
6 X+ p4 n' r1 _
. E+ o! `$ A% G( u最后保存成TGA
8 }, ^0 J7 |5 l8 `" n; cD3DXSaveTextureToFileA(“new字库.tga”, D3DXIFF_TGA, ppVertexBuffer, NULL);' v- k" s6 g5 K6 l, Y

" W$ }3 F% O: a0 j: T这个代码我没调试随手写的,表达下思路而已,不可照搬
回复 支持 反对

使用道具 举报

10#
发表于 2011-7-5 12:12 | 只看该作者
回复 rinat 的帖子
# S0 S) t# E  g- l$ Q5 \: j3 w# ^
0 Y* a1 D. N! H重新做一个新的不行吗?2 ?( S+ q) }' }; u% G
在原图片上添加字符,理论上是可以的,但应该不会有专门的软件,因为这个功能基本没人会用到。除非自己写一个,否则只有PS了。
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2011-7-5 10:16 | 只看该作者
沉睡的绵羊 发表于 2011-7-5 09:06
+ ]5 W0 b* ^5 M* P; v9 @' A5 ?https://www.chinaavg.com/thread-28475-1-1.html
0 G+ Y4 Z/ Y" k, `6 n0 G5 u这是招人简章。( m# t  d1 e3 I/ V
楼上的,你的想法很好。我是技术 鈂緦 , ...

  v2 B5 l8 {; `+ u( u" ?4 f& ?果然是,这个光操纵PS就不行了,修改原TGA遇到了些小问题,要得自己好好研究TGA了。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2011-7-5 10:14 | 只看该作者
caesarzx 发表于 2011-7-5 10:02 , P5 h: O: i: C" }
要命,民间汉化成行业了。

, g  p% n: ~9 G& U, c: ^" u恩,就是贡献性的民间行业,呵呵~
回复 支持 反对

使用道具 举报

7#
发表于 2011-7-5 10:02 | 只看该作者
要命,民间汉化成行业了。
回复 支持 反对

使用道具 举报

6#
发表于 2011-7-5 09:06 | 只看该作者
https://www.chinaavg.com/thread-28475-1-1.html
; s( a  t0 G2 ]& \1 c5 C这是招人简章。
: n  m. `2 j/ I* t楼上的,你的想法很好。我是技术 鈂緦 , QQ 号码是 11203768 , 欢迎一起交流。
+ M9 B1 A1 t  Q: u  B, z+ ^+ I( y你说的想法非常好,不过TGA的文件格式你得非常熟悉才能用软件用。
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2011-7-4 18:36 | 只看该作者
魔鸢 发表于 2011-7-4 18:21 8 ?% O  U; S5 a2 [# X: i7 q
如果你有兴趣可以进考核群跟大家一起发展啊
4 d7 a( j" g* j. Z
能否提供个群号?谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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