玲珑网游加速器ipad:Freetype的基本应用

来源:百度文库 编辑:偶看新闻 时间:2024/04/24 19:10:37
最近要给引擎加入字体支持了,上网找了下,发现freetype不错,就搞下来玩了下,发现效果还真是不错。由于是基本应用,不涉及字体变形什么的,只是一些调调间距,改变颜色,让字符好看些的技术1, 得到字符的正确绘制位置首先在创建好FTFace,Freetype推荐使用基线作为绘制基准,但是通常都是设置字符左上角的位置开始绘制。需要获得基线到字符轮廓最高点的距离,这个信息放在Ascender = FTFace->size->metrics.ascender  >> 6;    // 基线到字符轮廓最高点的距离, 由于是26.6的定点数,因此获取整数部分需要除以64然后每个字符的高度是不同的,Freetype生成的bitmap一般刚刚好包围到字符,比如a和l的bitmap图高度是不同的。因此还需要获得每个字符的偏移宽度和高度,这两个信息放在bitmap_left = FTFace->glyph->bitmap_left;  // 字符距离左边界的距离bitmap_top = FTFace->glyph->bitmap_top; // 字符最高点距离基线的距离好了,现在假设要在(posx, posy)处绘制字符,(charposx, charposy)表示字符的正确绘制位置charposx = posx + bitmap_left;charposy = posy + Ascender - bitmap_top;2,行距字符轮廓最大高度放在FTFace->size->metrics.height         // 字符轮廓最大高度, 26.6定点数但是我实测发现,这个高度太高了点,所以我一般是这样用的Descender = FTFace->size->metrics.descender >> 6;  // // 基线到字符轮廓最低点的距离FontHeight  = ((FTFace->size->metrics.height >> 6) + Ascender + Descender) / 2;然后还可以在FontHeight上加上一个固定高度,比如1或23,字符颜色Freetype生成的图是8bit灰度图(也有别的,不过8bit好看些),文字部分为白色,背景为黑色。这就有个麻烦,一般字体都是黑的,那好如果把字体颜色取反,就黑的变白的,白的变黑的了。可是呢,要加上颜色怎么办?这就是Freetype的文字是白色的原因,因为是8bit灰度图,因此不是黑色或白色的地方,颜色就成了一个比例因子,只需将其与想要设置的颜色相乘再除以256即可,比如灰度图中某点的颜色是156,想要设置的颜色是RGB(127, 42, 186),那么实际的颜色是(127 * 156 >> 8, 42 * 156 >> 8, 186 * 156 >> 8)回到之前说的,如果将黑的变白的,白的变黑的,那么比例因子就要再取反一次,麻烦了。而且,如果字体被设置过颜色后,灰度图的比例因子效果就丧失了,不能再被设置成其他颜色了(重新获取灰度图就要花多余的时间了)。解决方法是,把8bit灰度图保存在alpha通道中。如果想设置颜色就从alpha通道中获取灰度值即可。4,把字符变的好看些上面把灰度图保存在alpha通道中了,如果你的驱动支持alpha混合,那么恭喜你了,字符能和背景混合。不错,灰度图还兼有alpha功能,如果想好看些就做alpha混合吧。我的驱动不支持alpha混合,只好自己混合了。5,字间距调整只要不是等宽字体,都需要字间距调整,google下 FreeType 2开发文档 [中译版] 吧,有详细介绍。我照着做成功了的。  
基本的数据库应用 bat文件的基本应用 freetype 是如何与tornado联系起来的,也就是说在tornado中怎么运行freetype中的程序的? 跆拳道白带应用的基本的语言 跆拳道白带应用的基本的语言 怎样描述企业电子商务应用的基本框架结构。 电子商务基本概念是什么?电子商务的基本应用模式是什么? 谁能讲讲VB基本控件的应用和原理? 什么是 FreeType 2 这样制作一张最基本,最简单的网页(应用最基本的软件) CAD中基本的标志与符号的应用及所表示的含义 有没有人手里有关于 互联网基本应用 的培训资料阿 有没有既有趣又能让我学习到电脑基本应用知识的方法? 请问怎样学习基本网络应用知识 先应用比的意义,再应用比的基本性质,判断下面那组中的两个比可以组成比例。 先应用比的意义,再应用比的基本性质,判断下面那组中的两个比可以组成比例。 我想买一台笔记本电脑主要用于上网和下载资料是属于计算机的基本应用 哪一个品牌比较适合 蒙牛电子商务应用概述主要内容和基本流程 描述计算机的基本结构和各部分的主要功能,描述一台当前较为流行的计算机的主要配置,应用了那些新技术 本人现 想拜师 找一个 网络高手 请教些问题 不过本人现在停留在最基本的设置 和网络应用 望有人来 接受啊 我想知道如何应用化印兽的基本能力.比如在寿春走到了北烽火台怎么样跳下去啊,我走了好多圈都找不到方法. 《基本属实》中基本的意思是什么? 网球的基本技术和基本方法 Excel最基本最基本的用法?