NGUI和UGUI图片字 艺术字(Bitmap图片转文字)制作方法
用图片字而不是图片
美术和程序的配合,需要程序能够很快抓住问题重点并提出解决方案.美术出的图片字比我们使用的字体更好好看,那么是否要一个个图片去拼成数字呢?
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图片转文字)制作方法的更多相关文章
- NGUI图片字(Bitmap图片转文字)
用图片字而不是图片 美术和程序的配合,需要程序能够很快抓住问题重点并提出解决方案.美术出的图片字比我们使用的字体更好好看,那么是否要一个个图片去拼成数字呢? NGUI创建图片字 准备材料 美术提供的数 ...
- android 通过uri获取bitmap图片并压缩
很多人在调用图库选择图片时会在onActivityResult中用Media.getBitmap来获取返回的图片,如下: Uri mImageCaptureUri = data.getData(); ...
- Android图片缓存之Bitmap详解
前言: 最近准备研究一下图片缓存框架,基于这个想法觉得还是先了解有关图片缓存的基础知识,今天重点学习一下Bitmap.BitmapFactory这两个类. 图片缓存相关博客地址: Android图片缓 ...
- Android bitmap图片处理
一.View转换为Bitmap 在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面.在窗口显示的时候Android会把这些控件都加载到内存中 ...
- 图片处理之-Bitmap.Config,jpeg压缩与大小
关于ARGB_8888.ALPHA_8.ARGB_4444.RGB_565的理解 A:透明度 R:红色 G:绿 B:蓝 Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4 ...
- Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据
Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据 2014-06-11 10:45:14 阅读375次 我们在JNI中处理得到的BMP图片Raw数据,我们应该如何 ...
- Android性能优化系列之Bitmap图片优化
https://blog.csdn.net/u012124438/article/details/66087785 在Android开发过程中,Bitmap往往会给开发者带来一些困扰,因为对Bitma ...
- Android—将Bitmap图片保存到SD卡目录下或者指定目录
直接上代码就不废话啦 一:保存到SD卡下 File file = new File(Environment.getExternalStorageDirectory(), System.currentT ...
- Android图片二进制与Bitmap、Drawable之间的转换
Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArray ...
随机推荐
- SkipList 跳跃表
引子 考虑一个有序表:14->->34->->50->->66->72 从该有序表中搜索元素 < 23, 43, 59 > ,需要比较的次数分别为 ...
- SpringCloud入门之Maven系统安装及配置
一.Maven 介绍 这个单词中文翻译为“专家”或“内行”.下面将向你介绍 Maven这一跨平台的项目管理工具.作为 Apache 组织中的一个成功的开源项目,Maven 主要服务于基 Java 平台 ...
- SHA-1退休:数千万用户通向加密网站之路被阻
Facebook和Cloudflare警告道:上千万用户将无法访问只使用SHA-2签名证书的HTTPS网站.2016年-2017年是SHA-1算法的缓冲期.2017年开始CA机构将不能颁发含有sh ...
- MWeb 生成静态网站&博客
MWeb 生成静态网站 & 博客 MWeb 的静态网站分类 在 MWeb 的文档库中,有两种分类,一种是普通分类,另一种就是静态网站分类了.你可以直接新增一个静态网站分类,也可以在普通分类的顶 ...
- WinForm中遇到Label要显示的内容太长,自动换行
很多朋友都会在开发WinForm中遇到Label要显示的内容太长,但却不能换行的问题.这里我总结了几种方法,供大家参考. 第一种是把Label的AutoSize属性设为False,手动修改Label的 ...
- oracle安装与备份导入
win10安装oracle因运行版本问题导致安装时提示错误(可能win10未被甲骨文公司认证) 跳过的问题 需要更改配置文件: 配置位置在 : 具体操作如下图: 在安装时win10跳过了 许是因为环 ...
- Listary Pro- 文件浏览与搜索增强的超级神器
Listary 是一款 Windows 文件浏览增强工具,为 Windows 资源管理器增加智能命令.最近文档以及收藏功能.文件小,功能强大.秒杀系统自带搜索功能!! 它是一款非常优秀的 Window ...
- PostgreSQL可视化客户端工具
TreeSoft数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL,MSSQL, Hive, SAP ...
- 理解JVM之Java内存区域
Java虚拟机运行时数据区分为以下几个部分: 方法区.虚拟机栈.本地方法栈.堆.程序计数器.如下图所示: 一.程序计数器 程序计数器可看作当前线程所执行的字节码行号指示器,字节码解释器工作时就是通过改 ...
- python基础技巧综合训练题2
1,判断一个字符串中的每一个字母是否都在另一个字符串中,可以利用集合的特性来解,集合的元素如果存在,再次更新(update) 是添加不进集合的,那么集合的长度还是跟原来一样,如果添加进去,集合长度就会 ...