用图片字而不是图片

美术和程序的配合,需要程序能够很快抓住问题重点并提出解决方案.美术出的图片字比我们使用的字体更好好看,那么是否要一个个图片去拼成数字呢?

NGUI创建图片字

准备材料

美术提供的数字图片

BMFont 字体制作软件

美术资源处理

1、使用BmFont先导出一张只有数字的图片字,会得到两个文件

2、将得到的xxx.fnt文件改后缀为xxx.txt

3、使用notepad++或Sublime Text打开(或使用其它带有列编辑功能的文本编辑器)

info face="微软雅黑" size= bold= italic= charset="" unicode= stretchH= smooth= aa= padding=,,, spacing=, outline=
common lineHeight= base= scaleW= scaleH= pages= packed= alphaChnl= redChnl= greenChnl= blueChnl=
page id= file="space2_0.png"
chars count=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset=- yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=

4、通过观察上面的这段文本,其中的规律为

查找字符ID

其中字符的id可以通过BMFont得到,鼠标移动到一个字符上,右下角即会显示会该字符的ID,如下图片所示,选择0,右下角Id为48

制作NGUI字体prefab

5、根据规律修改BMFont导出的文件后,把 xxx.txt导入到Unity中,就可以使用NGUI的Font Maker制作图片字了

遇到问题?

6、字体Prefab制作好之后,如果遇到字体丢失,可以重新拖入字体信息txt

7、多测试修改下字体文件的间距及宽度大小,达到和美术那边一样的效果

我的例子

附上我的测试数据

美术图片尺寸:260 x 31

字符总数:共10个字符,每个字符的间距相等(方便x递增)

info face="微软雅黑" size= bold= italic= charset="" unicode= stretchH= smooth= aa= padding=,,, spacing=, outline=
common lineHeight= base= scaleW= scaleH= pages= packed= alphaChnl= redChnl= greenChnl= blueChnl=
page id= file="ingame_enemies_round_number.png"
chars count=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=
char id= x= y= width= height= xoffset= yoffset= xadvance= page= chnl=

图片字效果

根据美术提供的这张图,程序调试出字体信息文件参数,就可以换使用图片字体一样啦

注意事项

建议

  • 美术出的图每两个字之间间距为2px,或根据实际情况
  • 数字从0开始,9结束(否则请修改文本的字符id)
  • 图片建议为png,带透明通道

确保事项

  • 一定要确保每两个字之间的间距相等

单张数字图处理

如果是美术给的是单张的图片,可以参考下面这篇博客 http://blog.csdn.net/keshuiyun/article/details/9960667

NGUI和UGUI图片字 艺术字(Bitmap图片转文字)制作方法的更多相关文章

  1. NGUI图片字(Bitmap图片转文字)

    用图片字而不是图片 美术和程序的配合,需要程序能够很快抓住问题重点并提出解决方案.美术出的图片字比我们使用的字体更好好看,那么是否要一个个图片去拼成数字呢? NGUI创建图片字 准备材料 美术提供的数 ...

  2. android 通过uri获取bitmap图片并压缩

    很多人在调用图库选择图片时会在onActivityResult中用Media.getBitmap来获取返回的图片,如下: Uri mImageCaptureUri = data.getData(); ...

  3. Android图片缓存之Bitmap详解

    前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. 图片缓存相关博客地址: Android图片缓 ...

  4. Android bitmap图片处理

    一.View转换为Bitmap         在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面.在窗口显示的时候Android会把这些控件都加载到内存中 ...

  5. 图片处理之-Bitmap.Config,jpeg压缩与大小

    关于ARGB_8888.ALPHA_8.ARGB_4444.RGB_565的理解 A:透明度 R:红色 G:绿 B:蓝 Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4 ...

  6. Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据

    Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据 2014-06-11 10:45:14   阅读375次 我们在JNI中处理得到的BMP图片Raw数据,我们应该如何 ...

  7. Android性能优化系列之Bitmap图片优化

    https://blog.csdn.net/u012124438/article/details/66087785 在Android开发过程中,Bitmap往往会给开发者带来一些困扰,因为对Bitma ...

  8. Android—将Bitmap图片保存到SD卡目录下或者指定目录

    直接上代码就不废话啦 一:保存到SD卡下 File file = new File(Environment.getExternalStorageDirectory(), System.currentT ...

  9. Android图片二进制与Bitmap、Drawable之间的转换

    Android图片二进制与Bitmap.Drawable之间的转换 Java代码  public byte[] getBitmapByte(Bitmap bitmap){      ByteArray ...

随机推荐

  1. mac 安装 python mysqlclient 遇到的问题及解决方法

    在 mac 上安装 mysqlclient 遇到了一些问题,查找资料很多人都遇到了同样的问题.通过资料和试验,成功了.这里记录一下,希望帮到遇到同样问题的人. 本人使用python3, 安装步骤如下: ...

  2. SQL Server 2008 安装重启电脑失败

    a .重启机器,再进行安装,如果发现还有该错误,请按下面步骤b.在开始->运行中输入regeditc.到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C ...

  3. WPF 中Canvas图形移动、缩放代码

    从Flash转C#,很多内容一知半解,边摸索边前进,代码粗糙,权当留个脚印. 只是想得到一个基础的移动和缩放功能的界面,找了很久都是画线.画矩形等基础形状的代码,移动和缩放说的并不清晰,只能自己努力来 ...

  4. [游记] HEOI2018酱油记

    Day -1 在机房颓颓颓颓颓,晚上得知这次考试题本来是要给 ZJOI2018 用的,结果没用上..可想而知考试的难度.. 但愿不爆零 Day 0 坐了一上午火车,顺便找茁神犇拷了个 COD,然后接着 ...

  5. Redis集合操作

    Redis的集合以无序的形式存储多个各不相同的元素 (常用的集合命令) SADD : SADD key-name item [item ...]----------将一个或多个元素添加到集合里,并返回 ...

  6. JS 格林威治时间格式(GMT)格式化

    Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month & ...

  7. Nginx初探

    nginx是一款轻量级的web服务器.反向代理服务器和电子邮件服务器,占有内存少,并发能力强. 本文将简单介绍如何安装.启动nginx,部署web项目,应用反向代理. 一.安装 可参考https:// ...

  8. 虚拟机中安装完 CentOS7minimal 版本后无法联网的问题

    问题描述 安装完系统后无法上网,然后进入到目录 /etc/sysconfig/network-script 查看.发现只有一个 ifcfg-lo. 解决办法 这种情况是没有识别到网卡. 在 VMwar ...

  9. 如何解决WEB应用中文乱码问题

    最容易出现乱码的场景是浏览器向服务器发送请求的过程,解决的策略就是强制为请求和响应设置编码格式. 一.POST 方式请求乱码 1. 在每个 Controller 中单独处理 request.setCh ...

  10. Wooden Sticks(hdu1501)(sort,dp)

    Wooden Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...