用图片字而不是图片

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

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. linux解决病毒系列之一,删除十字符libudev.so病毒文件

    前两天被服务器商通知服务器带宽流量增加,我想了想我们服务走的内网,没有什么大的带宽占用,于是我马上登录服务器. 用top命令查看运行情况,我擦,有一个进程吃了很高的cup,于是我赶紧用kill -9 ...

  2. docker-使用ali云加速

    ali专用网络加速地址; https://yq.aliyun.com/articles/29941 使用ali加速 vim /etc/sysconfig/docker 添加: ADD_REGISTRY ...

  3. C#数据仓储类

    https://ninesky.codeplex.com/SourceControl/latest /*============================== 版本:v0.1 创建:2016.2 ...

  4. 阿里巴巴java手册示例

    package com.led.daorumysql; /** * @Description:alibaba java development manual * @author 86157 * */ ...

  5. Netbeans 8.0配置Python开发环境

    1. 菜单栏:工具->插件->设置->添加 配置如下信息: http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/last ...

  6. dom操作------获取元素的若干方法

    // 1,getElementById:返回元素节点document.getElementById(); // 2,getElementsByClassName:返回HTMLCollection对象( ...

  7. 没有什么,开发ASP.NET时随便写写,想到什么写什么

    没有什么,开发ASP.NET时随便写写,想到什么写什么,这次想写点开发过程中,比如在数据库,某一张表中有一个字段,如下: 上面代码示例中高亮字段,数据类型为BIT,它存储的值将为"True& ...

  8. 怎样删除windows.old文件

    方法1: 1.在C盘上点右键,选择属性.2.在常规选项卡中点击”磁盘清理“3.稍等片刻再弹出的选项卡中点击清理系统文件4.选中以前Windows的安装5.点击确定即可安全清理 方法二: WIN7中的w ...

  9. tomcat 防火墙如何设置

    tomcat 防火墙能够有效的防护我们电脑,那么我们要怎么样去设置呢?下面由学习啦小编给你做出详细的tomcat 防火墙设置方法介绍!希望对你有帮助! tomcat 防火墙设置方法一: 1.为tomc ...

  10. centos7配置java环境

    首先自行下载jdk的tar.gz的包,上传至相应服务器目录下,比如我的是:/usr/java下,然后解压缩,之后进行如下操作: 注意要修改/etc/profile文件,在末尾添加内容: export ...