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

其他 TGA图片字库制作

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

[其他] TGA图片字库制作

11#
发表于 2011-7-5 14:52 | 只看该作者
本帖最后由 solidji 于 2011-7-5 14:52 编辑
- z- m# @8 n  F8 g$ s( \. \3 p, C6 D5 R( i
重新做一张更方便
' J) T" I. }6 k* n, o如果非要加在后面,也可以自己实现
3 _  F4 W  K8 d# @; C9 F- a& a我给你提供个思路。我们先假设原来的字库你已经找到,并且是纹理图片字库8 c/ F' v& Y9 j7 `# K& ~4 w7 o
首先
& e) u! d" W$ y4 l9 J& @7 a: sCreateVertexBuffer(sizeof(CnFontVertex)*6*8192, D3DUSAGE_DYNAMIC, FVF, D3DPOOL_SYSTEMMEM, ppVertexBuffer,pSharedHandle);//创建一个包含8192个字符的足够大的字库缓存" T1 K5 _% \9 k5 w% w
                g_pFontVertexBuffer = *ppVertexBuffer;( {' r7 c2 L% x
                g_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);* ^" N2 H: m$ e7 Z" h
                g_pFontVertexBuffer->Unlock();
2 `% |- b- Y* l! \
. ?  L$ D6 _0 o3 x2 cCString font = _T(".\\font.bmp");//这个是自己要添加的新的字库
" ]/ ?) W9 c( G# b& b. G                        D3DXCreateTextureFromFileEx(/ U1 L1 Z5 N: D% m5 V
                        m_device,
, Z& {6 X1 Z3 ^: N2 A% i                        font,. r6 `  p: ~# M" i( C" q
                        D3DX_DEFAULT,! G" y% v) O5 r4 h7 G. q
                        D3DX_DEFAULT,
& ]5 A$ ?0 c5 g                        D3DX_DEFAULT,; a0 t; ?" z; _, t
                        0,9 `8 `5 f5 d2 n, I5 J3 ^2 q% x2 F
                        D3DFMT_A1R5G5B5,; q- {7 q4 h9 w) _
                        D3DPOOL_MANAGED,
* R& p' Z7 Q' o                        D3DX_FILTER_TRIANGLE,
! w8 ]8 H' N0 d4 J  i4 g: V                        D3DX_FILTER_TRIANGLE, ! @& E7 K. ]/ @, f% f
                        D3DCOLOR_RGBA(0, 0, 0, 255),, R% S8 Q7 M4 Q: \; T
                        NULL,4 F& [, Y4 S* ^8 _* W6 z( ^, X
                        NULL,
! ^& L: W: S" O) h+ i/ X5 ^                        &Tex);2 R/ R3 X- f# `/ Q6 y

( [/ D: M3 k( eIDirect3DTexture9* in = Tex->Lock(0, pDesc.Size, &pbData, D3DLOCK_READONLY);
$ {5 U$ Y1 y2 R9 g把Tex里的数据lock到pbData
+ b' J& z! H& E& C6 W然后把pbData里的数据copy到mem接在原本的字库后面/ G2 w7 u  M% L( g
g_pFontVertexBuffer->Lock(0,Length,(void**)&mem,0);
1 Q# ~, p$ M7 _" h$ i; Tmemcpy(pbData,mem,len);- N+ Q% @& U4 o/ s: Z) }4 @
g_pFontVertexBuffer->Unlock();
0 `9 V5 W4 }7 `% ~0 p2 b" ]2 Z
7 D- W0 _: b2 N& P2 h2 ?/ ]最后保存成TGA
7 J- X* _+ w. YD3DXSaveTextureToFileA(“new字库.tga”, D3DXIFF_TGA, ppVertexBuffer, NULL);
% V; U% P; d2 ]) P9 {" Z0 r# w# [5 m# u% j: k8 ]. o/ J  Y8 M: V0 n
这个代码我没调试随手写的,表达下思路而已,不可照搬
回复 支持 反对

使用道具 举报

12#
发表于 2011-7-5 16:33 | 只看该作者
魔鸢 发表于 2011-7-4 18:20 : x& |* u3 `* @4 P$ s9 H
TGA图片字库一向都是美工的活,童鞋,你要汉化的话就完全搞错方向了,抠鼻~~~
; m7 h. N2 S4 _2 s7 \* v
生成字库这种东西交给美工嘛?看来美工需要去学编码,尤其是了解图像相关API,然后去写代码,生成包含需要的字符的图片了...
回复 支持 反对

使用道具 举报

13#
发表于 2011-7-5 16:39 | 只看该作者
回复 rinat 的帖子2 }, V4 ?, b( r
5 z* z0 Z" S( d0 a& n- n
http://www.game798.com/html/2007-03/3147.htm! t: S' p5 _' p: R8 l+ s% S
. q3 d  m, L8 ~: ~$ V5 u/ D& L! }( P
希望对你有用,一个TGA库.其实百度一下.挺多的.只要能将生成的像素位图转换为带通道的TGA就可以了,至于压缩或者非压缩,看你的游戏了,反正这种库都支持.
& i2 L' {) D% U4 S3 s6 B
! O9 x" U( N" n& S/ f+ D% @+ y还有就是,如果你要用现成的软件修理字库图,首先你的新的文字量要少,比如几个或者几十个,那么工作量可以接受,如果你要把一个A码的TGA字库扩充到U码,那么手动...我觉得不显示,至少我这种等级的闲人做不来..
- A" y  w  \6 }, W$ U; B7 {' `' {
8 R/ p2 u$ ^4 ~1 e" q总结一下,个人感觉,字库的话.还是自己写个小软件,来的快.因为你不是想还是使用原来的方式进行字库读取么。% p, z* o' ]) O9 h9 Y

! a9 u: v* q9 _7 F) s或者还有2条路,inject,劫持掉他的显示方式,直接用你的绘图方式来输出文字,007大仙很熟悉,你可以PM或者QQ或者怎么怎嘛他.& {( l. q$ X) }9 \: T  q0 I6 a

2 E# u% p3 J' S5 C# n! x最后一条路就是放弃.
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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