im6ull专题

im6ull学习总结(三-五)freetype显示正行字

知识补充 笛卡尔坐标系 这里笛卡尔坐标系就是初高中学的直角坐标系的第一象限 lcd坐标系则不同 这两个坐标系如何转换 观察两个坐标系 点(x,y)的x坐标在两个坐标系中相同,纵坐标(y)存在着y+V-y=V V是整个屏幕的行数的像素点 如何将做到一行文字胖瘦不一 在显示一行文字时,这些文字会基于同一个基线来绘制位图:baseline(这个baseline不是最低点)。 在 basel

im6ull学习总结(三-4)freetype显示单个字体

矢量字体引入 使用点阵字库显示英文字母、汉字时,大小固定,如果放大缩小则会模糊甚至有锯齿出现,为了解决这个问题,引用矢量字体。 矢量字体形成分三步: 第1步 确定关键点, 第2步 使用数学曲线(贝塞尔曲线)连接头键点, 第3步 填充闭合区线内部空间。 什么是关键点?以字母“A”为例,它的的关键点如图 6.16 中的黄色所示。 再用数学曲线(比如贝塞尔曲线)将关键点都连接起来,得到一系列的封闭的

im6ull学习总结(三)文字显示

文字显示 字符编码方式 编码与字体 一个字符以不同编码形式会保存为不同的二进制数。 ASCII American Standard Code for Information Interchange”的缩写,美国信息交换标准代码。 一个字节的 7 位就可以表示 128 个数值,在 ASCII 码中最高位永远是 0。 ANSI ANSI是ASCII 的扩展,向下包含 ASCII。对于

im6ull学习总结(二)Framebuffer 应用编程

1 LCD操作原理 linux中通过framebuffer驱动程序来控制LCD。framebuffer中包含LCD的参数,大小为LCD分辨率xbpp。framebuffer 是一块内存 内存中保存了一帧图像。 关于图像的帧指的是在图像处理中,一帧(Frame)是指图像序列中的单个静止图像。当连续的图像以每秒多帧的速度播放时,就可以产生动画、视频或电影。每一帧都是由像素组成的二维网格,每个像素都包

im6ull学习归纳总结(一)APP——04_文件IO

4.1文件从何而来 如图所示文件可以是 1真实文件保存在设备上 2内核提供的虚拟文件 3设备节点 4.2文件的访问方式 4.2.1通用IO模型:open/read/write/lseek/close 实验1 copy文件 代码 #include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd