本章主要内容如下: 1)矢量字体原理 2)使用freetype库实现矢量字体显示 1. 矢量字体原理 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,如下图所示: 由于每个汉字的笔划不一样,从而每个汉字数据长度也不同,所以只能采用索引的方法.因而每种矢量字库都是由两部分组成,一部分是汉字的索引信息,一部分是汉字的字形(glyph)数据. 当显示文字时,便提取出各端点,并通过贝塞尔曲线来连接各个坐标,最后填充封闭空间. 接下来便使用freetype库制作矢量字体 2. f…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十三课:FreeType库 在OpenGL中使用FreeType库 使用FreeType库可以创建非常好看的反走样的字体,记住暴雪公司就是使用这个库的,就是那个做魔兽世界的.尝试一下吧,我只告诉你了基本的使用方式,你可以走的更远…
图像处理---<在图片上打印文字 FreeType库> 目的:想在处理之后的图像上打印输出结果.方法: (1)只在图像上打印 数字.字母的话:                1.Mat格式的图像,可以使用opencv自带的putText().                2.IPLImage格式的图像,可以使用自带的cvInitFont和cvPutText函数.     (2)在图像上打印 汉字的话,可以使用FreeType库.                FreeType库是一个完全免费…
1 淘宝IP地址库的接口说明 在上一篇文章<WordPress使用淘宝IP地址库的API显示评论者的位置信息(一)>中,vfhky使用了新浪工具提供的这个IP接口显示博客评论者的位置信息.那么这篇文章就接着写在WordPress中使用淘宝IP地址库的API显示评论者的位置信息.这个功能的实现需要储备一些jQuery.json等基础知识,所以如果说上一篇是jQuery版本的新浪IP地址库的API应用,那么这篇文章就是jQuery版本的淘宝IP地址库的API应用.淘宝IP地址库的接口说明文档地址是…
FreeType用起来比较麻烦,这里写了一份简单的示例代码,仅供参考. 实现了FT库生成字符位图,并上传到GL纹理. 实现了字符位图缓存功能,多个字符图像保存在同一个纹理中. 实现了简单的字体管理框架. 实现了简单的加粗和倾斜效果. 实现了反锯齿开关,并且兼容加粗倾斜效果. 代码如下: // OpenGL library #include <gl/glut.h> // Std misc #include <map> #include <vector> // FreeTy…
1.freetype库的下载 https://www.freetype.org/download.html freetype-2.10.0.tar.bz2 2.解压 3.进入  freetype-2.10.0\builds\windows\vc2010 目录 4.用VS打开freetype.sln文件 5.设置各项目的字符集为UTF-8 6.点击菜单"生成"->"生成解决方案" 编译后得到的lib库和dll文件在freetype-2.10.0\objs\x64…
前面讲到使用Hireo创建的BitmapFont以显示中文字体.这种方式效率很高,当所要显示的字的总数较少,并且大小比较固定时,可以采用这种方式. 但是这种也有弊端: (1)字体大小不能随意设置,当放大时就会变形. (2)当所要显示的字总数较多或者经常变化时,会很麻烦. libgdx对中文的支持不太好,也是很多人转向其他引擎的一个原因.幸好,其扩展模块中的FreeType能够通过ttf字体来实现随意中文显示. FreeType是libgdx的扩展模块,创建项目时需要添加对应的jar包和对应的动态…
android studio引用库工程其实不难,直接添加依赖module即可,但是我在操作过程中出现一些奇怪的问题,苦扰我一整天,为了祭奠这苦命的一天特别mark一下. 首先描述一下我的错误现象: studio配置完成后我就迫不及待的创建了一个项目,然后把以前用的库工程(eclipse工程)导入到studio中,然后创建一个项目引用一下看看效果咋样,以下分别描述两个项目遇到的问题: 出现问题: 1.调用库工程方法正常,但是在运行的时候提示我启动图标错误,原因是库工程和项目工程设置的启动图标指向同…
2018.5.10 更新内存对齐说明 感谢知乎网友@孤独子狮 指出QImage处需要考虑内存对齐的问题.因为本人缺乏跨平台.图形库开发经验,所以在调试成功后就没有深入探究. 主要修改了QImage的构造方式,使用了指定bytesPerLine的构造函数,具体原因参见 孤独子狮的回答 - 知乎 https://www.zhihu.com/question/38594052/answer/387891545 前言 最近有个pdf的需求,Qt竟然没有显示pdf的api,着实令人郁闷.之后我尝试用了po…
我们实现的数据结构是为了解决在执行过程中动态的开辟空间使用(比如我们不停的输入,输入的多少我们不确定) 假设当你看到这篇文章的话,就当作是零食咀嚼,营养没有有BUG,能够直接看我博客中文章:CPU对内存的管理,进一步和一些改正的理解 原理两种: 一.笨办法 我们第一次用多少空间,开辟多少空间A 我们第二次用空间,会开辟大于第一次开辟的空间B,将A里的数据复制到B中,然后释放A.在C中写入新的数据 缺点:在于拷贝的次数太多,效率低 二.改进的办法 矢量有一个參数,里面填写预留的空间,增加我们填写的…
有两种解决办法: 一种是在代码里设置为能显示中文的字体,如微软雅黑(msyh.ttf)和黑体(simsun.ttc) 如下在要画图的代码前添加: import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font = FontProperties(fname=r"C:\Windows\Fonts\msyh.ttf",size=10) plt.figure() plt.title(…
在sharepoint 2013中,Documnet library(文档库)包含多层文件夹,当进入到文件夹后,返回指定层次了(例如返回上一层),需要用浏览器的返回. 使用起来不方便,而且浏览器的返回,会导致一些问题,不推荐普遍用户使用.   解决这个问题,可以做一个目录结构,实现方法是:访问Document library 时, url 有个参数[RootFolder],记录了路径. 主要对[RootFolder]参数进行处理. 这里使用webpart实现.当然,也可以Javascript方式…
运行项目时,弹出以下信息:…
AppiumLibrary安装后,robotframe worke 倒入后一直显示红色,查看日志报错:ImportError: cannot import name 'InvalidArgumentException'. 网上找了好久,找到了解决方法: 在 C:\Python27\Lib\site-packages\selenium\common\exceptions.py中加入下面代码: class InvalidArgumentException(WebDriverException): "…
JavaFx是开发Java GUI程序的新框架.JavaFX应用可以无缝地在桌面或web浏览器中运行.具有内建的2D.3D动画支持,以及视频和音频的回放功能,可以作为一个应用独立运行或者在浏览器中运行. ClockPane类: import javafx.scene.shape.Circle; import javafx.scene.shape.Line; import javafx.scene.text.Text; import javafx.scene.control.Label; impo…
/** @brief 详情 @param 参数 @note 注意 @return 返回值类型 @code 这里写例题代码 @endcode @see 相似的方法参考 */…
效果如图所示,比 bass 官方自带的例子效果要好那么一点点(峰值有滞留)...…
本章主要内容如下: 1)多行显示 2)居中显示 在上章3.数码相框-通过freetype库实现矢量显示里,我们使用矢量坐标时,该坐标仅仅在原点位置处,所以文字有可能会超出坐标,如下图所示: 既然超出了坐标,会不会被下一行的文字覆盖掉? 答:对于几行同样大的文字而言,不会的. 以 24*24的韦字为例,让它显示在(0,40)处,所以文字的y范围在17~40,如下图所示,发现该文字超过了原点,而上方数据又会空出来一段,就不会覆盖到上一行数据. 对于几行规格大小不同的文字,则有可能会被覆盖.以20*2…
在上章-学习了数码相框的框架分析(1)了 本章主要内容如下: 1)熟悉ASCII/GB2312/Unicode编码 2)写应用程序,使LCD显示汉字和字符 大家都知道,数据传输的是二进制,而字符和汉字却有各种各样的,所以便通过二进制将字符和汉字编成一个字符集(charset). 1.而字符集(charset)又经历3个阶段 ASCII码 最早的计算机采用ASCII码,一个字节便包括了英文数字这些符号 GB2312编码 由于不支持中文,那时候的常用汉字就有6763个,所以中国人发明了GB2312(…
HZK16汉字库的使用 定义如下: unsigned char str[]="我" 在运行时str被初始化为2个字节长度,内容为“我”的GBK码,为:0xCE(区码),0xD2(位码). 使用如下换算公式得到 “我”在HZK16文件中的地址,从该位置开始的顺序32字节为“我”的字模. ADD=[(区码-0xa1)×0x5e + (位码-0xa1)]×0x20 按照上面的计算方法, “我”的字模地址:0x216E0 矢量字体(Vector font)中每一个字形是通过数学曲线来描述的,它…
在mac电脑上管理这些gnu的库一般都使用Homebrew,但总有一些你个性化的需要是官方的Homebrew配方无法满足的.比如在屏幕的输出中使用中文字符. 在OPENCV中输出UTF8字符集早已经有人完成过类似的工作,方法是使用freetype的支持,程序中选择使用的字库,从而在屏幕上输出任意的字符.但官方的Homebrew OPENCV的配方中,并不包含freetype的支持.这时候,只好自己来编译OPENCV及contrib库,因为freetype的支持就在contrib库中. 编译安装…
在LCD显示任意编码的文本文件,类似电子书 怎样在LCD上显示文件: 需要哪几个文件? 1.顶部文件 通过main.c分析命令行的操作,然后初始化各个管理文件下的结构体,比如DisplayInit(); 然后进入draw.c,在draw.c里按顺序调用3个管理文件,并控制显示. 2. encoding_manager.c管理文件 管理4个编码子文件:utf-8.c  utf-16be.c  utf-16le.c  ascii.c 比如utf-8.c:判断某个文件是否以0xEF, 0xBB, 0x…
C#+OpenGL+FreeType显示3D文字(1) - 从TTF文件导出字形贴图 +BIT祝威+悄悄在此留下版了个权的信息说: 最近需要用OpenGL绘制文字,这是个很费时费力的事.一般的思路就是解析TTF文件从而得到字形的贴图,然后通过OpenGL绘制贴图的方式显示文字. 本篇记录了解析TTF文件并把所有字形安排到一张大贴图上的过程. 使用FreeType 想从零开始解析TTF文件是一个比较大的工程,所以目前就借助FreeType.FreeType是一个开源的跨平台的TTF文件解析器.当然…
Iconfont-阿里巴巴矢量图标库 从此不求人:自主研发一套PHP前端开发框架 Iconfont-中国第一个最大且功能最全的矢量图标库,提供矢量图标下载.在线存储.格式转换等功能.阿里巴巴体验团队倾力打造,设计和前端开发的便捷工具 www.iconfont.cn/  从300到300万,一个远程外包团队的发展历程和经验 PHP检测url地址是否被百度收录 thinkphp实现excel数据的导入导出(修改适用3.2.3)H5编辑后台 thinkphp实现excel数据的导入导出(修改适用3.2…
这是一个怪问题,原因就是文件名大小写与版本库管理的大小写不一致. 解决办法: 1.先把文件夹中的物理文件名改为版本库浏览器中显示的文件名(版本库浏览器中的文件名不知道怎么改),改了以后这个文件图标就变成绿色打勾的了. 2.这个文件上点右键 TortoiseGit -> 删除并保留本地副本. 3.再把这个文件名改成你想要的. 4.这个文件上点右键 TortoiseGit ->添加,最后提交就OK了. 当然,如果你没有大小写敏感的需求,只操作第一步就可以了.…
[参考]韦东山 教学笔记 1. 程序框架1.1 触摸屏: 主按线程,通过socket发给显示进程 --------------------------- 封装事件:ts线程 按键线程 --------------------------- 操作系统 封装的数据有:时间类型(点击.上下左右移动)位置速度幅度 1.2 显示 放大(上) 缩小(下) 左边 右边 当前 显示控制 接收sochket libjpeg mmap----------------------------------------内…
简介 MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于 1998 年底开始开发.2002 年,魏永明先生创建北京飞漫软件技术有限公司,为 MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业.最后一个采用 GPL 授权的 MiniGUI 版本是 1.6.10,从 MiniGUI 2.0.4 开始 MiniG…
源:truetype技术和矢量字库的技术原理及实现 广泛汉字矢量字库(HZKSLxxJ)格式             在矢量字库中,每个汉字都是以128   X   128点阵制成矢量数据.每个汉字     的矢量数据都由一指针指向,   指针区在每个汉字字库文件的开头0xBB3E字节.     每个汉字矢量数据指针占6个字节,   其格式为:前4个字节为汉字的矢量数据在     文件中的偏移,   后2个字节为汉字的矢量数据的长度.                 汉字指针在指针区的偏移由公式…
转自:http://blog.csdn.net/hgl868/article/details/7254687 1.字形度量 顾名思义,字形度量是对应每一个字形的特定距离,以此描述如何对文本排版.      通常一个字形有两个度量集:用来排版水平文本排列的字形(拉丁文.西里尔文.阿拉伯文.希伯来文等等)和用来排版垂直文本排列的字形(中文.日文.韩文等等).      要注意的是只有很少的字体格式提供了垂直度量.你可以使用宏FT_HAS_VERTICAL测试某个给出的face对象是否包含垂直度量,当…