设为首页收藏本站官方微博
12
返回列表 发新帖

其他 TGA图片字库制作

[复制链接]
楼主: rinat
打印 上一主题 下一主题

[其他] TGA图片字库制作

11#
发表于 2011-7-5 14:52 | 只看该作者
本帖最后由 solidji 于 2011-7-5 14:52 编辑 8 ~4 Y' r, a. {5 S$ w

- A0 `# C+ i0 u2 J重新做一张更方便# k3 w! C5 x: J& p6 D
如果非要加在后面,也可以自己实现
! Y1 I/ G5 o* t, A) b4 l0 M我给你提供个思路。我们先假设原来的字库你已经找到,并且是纹理图片字库
( m. w1 M* l4 ~, n首先2 C6 \6 L' z4 a1 H  ?+ i& o
CreateVertexBuffer(sizeof(CnFontVertex)*6*8192, D3DUSAGE_DYNAMIC, FVF, D3DPOOL_SYSTEMMEM, ppVertexBuffer,pSharedHandle);//创建一个包含8192个字符的足够大的字库缓存
( Q% b% Q* s0 L) v1 }7 u) s                g_pFontVertexBuffer = *ppVertexBuffer;
0 _$ |+ Y: n) E4 T6 Y& ?( R* S                g_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);
8 c- U: Q. `  O$ C; p                g_pFontVertexBuffer->Unlock();
/ |- Q3 V" a/ |$ {& \
! Q: W6 Y# ]6 A, W7 R- ~' I* xCString font = _T(".\\font.bmp");//这个是自己要添加的新的字库* K8 B# c7 [" u$ H& A; D% A2 Y
                        D3DXCreateTextureFromFileEx(
7 I' e  F2 N" X1 I+ b                        m_device,
8 N1 e' m8 Y- ?! D                        font,
0 U; ?; u. w$ D0 l6 v9 ]. o                        D3DX_DEFAULT,
  ^. f7 Z. I& _; _' r0 @1 j                        D3DX_DEFAULT,
2 ^1 x% J0 q8 o) i% G                        D3DX_DEFAULT,4 |* p6 C6 T% ^( i" ^. U1 }' H
                        0,# x: `$ l( U4 R! c7 b  {2 L9 N
                        D3DFMT_A1R5G5B5,
% k* B  D8 @8 d  S. |                        D3DPOOL_MANAGED,8 s* ?( D4 e( D" E5 u6 M
                        D3DX_FILTER_TRIANGLE,
5 A6 ^* U: X  i                        D3DX_FILTER_TRIANGLE,
7 f* |! L4 u. C+ w- o0 B$ D                        D3DCOLOR_RGBA(0, 0, 0, 255),
9 J' ~/ p1 A9 @; @3 R: ^                        NULL,
/ ^0 [2 w( ]# v7 d9 q, H                        NULL,
; Y3 f! v2 U0 s1 |2 K                        &Tex);
8 k5 b9 q, D: Z  p7 s6 Q* K4 V' t
IDirect3DTexture9* in = Tex->Lock(0, pDesc.Size, &pbData, D3DLOCK_READONLY);
  J9 o0 J: }) {把Tex里的数据lock到pbData
( @( A/ {$ j' O然后把pbData里的数据copy到mem接在原本的字库后面
* Y& V1 d3 |  F7 n4 `8 Og_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);  D; C6 o/ g: p' N$ e  Y
memcpy(pbData,mem,len);+ Z/ t6 w, `/ P2 e) [. p  R* q3 b
g_pFontVertexBuffer->Unlock();& @( U1 X5 `! N
: W# w5 B4 E) d: |. N
最后保存成TGA
- w, ?% k% ^. w! Z& J+ l% QD3DXSaveTextureToFileA(“new字库.tga”, D3DXIFF_TGA, ppVertexBuffer, NULL);
* f( i7 {; a# S7 ?# ~7 {; L0 i' o" U/ n1 v
这个代码我没调试随手写的,表达下思路而已,不可照搬
回复 支持 反对

使用道具 举报

12#
发表于 2011-7-5 16:33 | 只看该作者
魔鸢 发表于 2011-7-4 18:20
/ u# g( \6 z: y  n% ~$ _TGA图片字库一向都是美工的活,童鞋,你要汉化的话就完全搞错方向了,抠鼻~~~

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

使用道具 举报

13#
发表于 2011-7-5 16:39 | 只看该作者
回复 rinat 的帖子8 z* e% P* @" w
. o2 P8 H1 ^, T! b
http://www.game798.com/html/2007-03/3147.htm
! G  E* h( ]' a1 {; [& G  [' u
  N- S8 j. \+ w9 J0 Q$ ?希望对你有用,一个TGA库.其实百度一下.挺多的.只要能将生成的像素位图转换为带通道的TGA就可以了,至于压缩或者非压缩,看你的游戏了,反正这种库都支持.$ x) Z9 g6 P/ U9 b

# z9 B2 r8 C& G还有就是,如果你要用现成的软件修理字库图,首先你的新的文字量要少,比如几个或者几十个,那么工作量可以接受,如果你要把一个A码的TGA字库扩充到U码,那么手动...我觉得不显示,至少我这种等级的闲人做不来..: [7 K. {$ Q3 {/ n- @

- b, O! p) ~8 Z1 H! s总结一下,个人感觉,字库的话.还是自己写个小软件,来的快.因为你不是想还是使用原来的方式进行字库读取么。
2 j0 U; E. s8 K) F4 b# i' h. `
3 L, O1 s9 k3 @! }或者还有2条路,inject,劫持掉他的显示方式,直接用你的绘图方式来输出文字,007大仙很熟悉,你可以PM或者QQ或者怎么怎嘛他.
$ q0 B0 K6 X; G; m. T/ t2 e! r7 ]# R5 B
最后一条路就是放弃.
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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