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

其他 TGA图片字库制作

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

[其他] TGA图片字库制作

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

TGA图片字库制作

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

使用道具 举报

13#
发表于 2011-7-5 16:39 | 只看该作者
回复 rinat 的帖子/ [' j. M  J: [
- H) J; p+ N% R* i5 n( R4 n
http://www.game798.com/html/2007-03/3147.htm# g1 J7 I- D$ x

: Q6 S  x3 R5 U9 v# M" `希望对你有用,一个TGA库.其实百度一下.挺多的.只要能将生成的像素位图转换为带通道的TGA就可以了,至于压缩或者非压缩,看你的游戏了,反正这种库都支持.
9 ]( B5 E7 ^- A" k  U
4 ~2 i, M1 ]. V0 E0 C3 H. p* L还有就是,如果你要用现成的软件修理字库图,首先你的新的文字量要少,比如几个或者几十个,那么工作量可以接受,如果你要把一个A码的TGA字库扩充到U码,那么手动...我觉得不显示,至少我这种等级的闲人做不来..
9 r; t: [2 d2 W; [3 Z# i6 {( g' q& w9 w& `# Z8 D
总结一下,个人感觉,字库的话.还是自己写个小软件,来的快.因为你不是想还是使用原来的方式进行字库读取么。
" Y* P1 c# E" p1 P, T* |5 h2 Y) E- Y$ u  |5 }. q) q/ T, y
或者还有2条路,inject,劫持掉他的显示方式,直接用你的绘图方式来输出文字,007大仙很熟悉,你可以PM或者QQ或者怎么怎嘛他.
$ Q6 y0 G' R- r2 \' G5 \: x, a1 m* y3 W% Q
最后一条路就是放弃.
回复 支持 反对

使用道具 举报

12#
发表于 2011-7-5 16:33 | 只看该作者
魔鸢 发表于 2011-7-4 18:20
/ n- e! M. A  C2 H* [( v2 U' {2 ?TGA图片字库一向都是美工的活,童鞋,你要汉化的话就完全搞错方向了,抠鼻~~~

1 k, a6 X" G1 k生成字库这种东西交给美工嘛?看来美工需要去学编码,尤其是了解图像相关API,然后去写代码,生成包含需要的字符的图片了...
回复 支持 反对

使用道具 举报

11#
发表于 2011-7-5 14:52 | 只看该作者
本帖最后由 solidji 于 2011-7-5 14:52 编辑 + x* I% G) |  r/ s* }& ^

  c, w& ]* N% d' ~重新做一张更方便
( v. z3 u  Y  Q* G如果非要加在后面,也可以自己实现
* o- O3 g' y4 a* `我给你提供个思路。我们先假设原来的字库你已经找到,并且是纹理图片字库
, s  n: q1 L& N% x7 l首先+ T& N% U1 Y, Y7 L5 J8 U3 E
CreateVertexBuffer(sizeof(CnFontVertex)*6*8192, D3DUSAGE_DYNAMIC, FVF, D3DPOOL_SYSTEMMEM, ppVertexBuffer,pSharedHandle);//创建一个包含8192个字符的足够大的字库缓存
7 F" {& {6 H: s& A- \4 f$ Y& A                g_pFontVertexBuffer = *ppVertexBuffer;# d% P! g# n$ s' r0 L) F) N2 ?
                g_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);
; [  q$ n. N+ ]& x                g_pFontVertexBuffer->Unlock();+ j# h  A4 u6 x3 i
5 S  c6 E) ]7 L, t; S5 n( J
CString font = _T(".\\font.bmp");//这个是自己要添加的新的字库7 M% j! F1 ], s) d
                        D3DXCreateTextureFromFileEx(+ H' K) G7 q2 l1 o) n7 v1 v
                        m_device,
# H; ]# L0 A) j2 h! |" G                        font,( \8 A- b" m* M/ i! z& m/ p
                        D3DX_DEFAULT,
& U4 f# }# F" |, T                        D3DX_DEFAULT,
7 y, Y0 {9 O- f3 E( d+ q  W/ n                        D3DX_DEFAULT,
4 p4 z1 F7 F- P: I5 X                        0,) q* I8 A' x3 s: g* b
                        D3DFMT_A1R5G5B5,/ N+ \9 o' B7 F
                        D3DPOOL_MANAGED," i# ]) P9 m# ?( s* k9 |+ U$ `
                        D3DX_FILTER_TRIANGLE,9 ^* r1 [. P6 K! x  H. [
                        D3DX_FILTER_TRIANGLE,
' P# G/ j9 X& P& ^; O: k                        D3DCOLOR_RGBA(0, 0, 0, 255),
: [) w5 F2 n0 ^7 _4 H! m                        NULL,
4 Y  I6 s9 O* B                        NULL,
  }& M+ \6 Z9 i: }$ [6 w                        &Tex);2 f6 H0 k& k& T. F5 K) S

% M3 e: O, L8 e4 ?$ ~IDirect3DTexture9* in = Tex->Lock(0, pDesc.Size, &pbData, D3DLOCK_READONLY);. q; E) i1 \+ H) l: G
把Tex里的数据lock到pbData& q  f3 f6 ~6 a
然后把pbData里的数据copy到mem接在原本的字库后面
, s. i% e8 ?# m' xg_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);8 K: h  |5 n' b& h. g
memcpy(pbData,mem,len);
  j# j& D( B3 @) j: \  s. Yg_pFontVertexBuffer->Unlock();
! n$ h! s( r. o, S
$ Q  X, u" G2 w& ^% R' i8 _最后保存成TGA6 q" V$ p) h/ y; v
D3DXSaveTextureToFileA(“new字库.tga”, D3DXIFF_TGA, ppVertexBuffer, NULL);: U: b  G  H- A9 o" ?) Z

6 \1 H3 |9 j% m4 l* ]这个代码我没调试随手写的,表达下思路而已,不可照搬
回复 支持 反对

使用道具 举报

10#
发表于 2011-7-5 12:12 | 只看该作者
回复 rinat 的帖子
/ Z2 v) c6 [9 \; [( C8 A
$ s+ h" N$ i: w. U重新做一个新的不行吗?4 i2 c" t: R/ M0 g) I
在原图片上添加字符,理论上是可以的,但应该不会有专门的软件,因为这个功能基本没人会用到。除非自己写一个,否则只有PS了。
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2011-7-5 10:16 | 只看该作者
沉睡的绵羊 发表于 2011-7-5 09:06 3 r; a6 e/ D7 k0 N
https://www.chinaavg.com/thread-28475-1-1.html9 L: ^: d* K& m/ u- C
这是招人简章。
3 ]1 [  _4 L8 W6 u/ s" {$ \, w楼上的,你的想法很好。我是技术 鈂緦 , ...

2 p* I4 e+ e) z' \果然是,这个光操纵PS就不行了,修改原TGA遇到了些小问题,要得自己好好研究TGA了。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2011-7-5 10:14 | 只看该作者
caesarzx 发表于 2011-7-5 10:02 4 g" z1 c% m$ {' h+ @
要命,民间汉化成行业了。
5 e+ ?9 W! k, {7 l/ ]' R- D
恩,就是贡献性的民间行业,呵呵~
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
发表于 2011-7-5 09:06 | 只看该作者
https://www.chinaavg.com/thread-28475-1-1.html5 S, j+ _& E/ J0 p+ C$ R8 G
这是招人简章。$ g) |2 F5 E9 V! p; j
楼上的,你的想法很好。我是技术 鈂緦 , QQ 号码是 11203768 , 欢迎一起交流。6 a& D8 J- u% M
你说的想法非常好,不过TGA的文件格式你得非常熟悉才能用软件用。
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2011-7-4 18:36 | 只看该作者
魔鸢 发表于 2011-7-4 18:21
' @* B" ?& J! q2 G0 q如果你有兴趣可以进考核群跟大家一起发展啊

3 Q9 ]# b- l+ d( j& O! _# \: q" K能否提供个群号?谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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