Linux应用
文章平均质量分 96
sakabu
记录我的嵌入式学习路线,梦想成为嵌入式大牛
展开
-
使用freetype显示文字
Freetype 是开源的字体引擎库,它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示。我们只需要移植这个字体引擎调用对应的 API 接口提供字体文件,就可以让 freetype 库帮我们取出关键点、实现闭合曲线,填充颜色,达到显示矢量字体的目的。关键点 (glyph) 存在字体文件中 ,Windows使用的字体文件在目录下,扩展名为 TTF 的都是矢量字库,本次使用实验使用的是新宋字体simsun.ttc。给定一个字符,怎么在字体文件中找到它的关键点?原创 2024-09-19 18:29:11 · 664 阅读 · 0 评论 -
基于Linux文件编程实现处理Excel表格的数据
因为是一行一行的处理数据,有些小伙伴可能会疑惑,数据为什么不会被覆盖,为什么不会得到同样的数据?我们要知道read函数的原理,你读一个字符,文件的光标就会移动一个位置,你下次再打开这个文件,他的光标位置是不变的,除非你用lseek函数来改变光标的位置,所以我们每读一行,再加上结束符'\0'就相当于一个字符串,然后立马处理数据并且写入结果文件;下次再去读数据文件,是从上一次读的位置的下一个开始读,所以才能得到一行一行的数据。什么时候读完?原创 2024-09-11 21:04:17 · 1494 阅读 · 1 评论 -
Framebuffer应用编程
在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。Frame 是帧的意思,buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。Framebuffer 中保存着一帧图像的每一个像素的颜色值。Framebuffer的大小为:屏幕分辨率x每一个像素所占的字节数。mmap 函数的功能是将文件或其他对象映射到进程的内存地址空间。这使得程序可以通过内存操作直接访问文件内容,而无需使用传统的文件读写函数。原创 2024-09-15 23:05:36 · 993 阅读 · 0 评论 -
字符的编码方式(ASCII,ANSI,UNICODE)
对于同一个 TXT 文件中的内容,你在 Notepad 上选择不同字体时,字符显示的形状不一样。所以 TXT 文件中保存的是字符的核心:它的编码值。而 Notepad 上显示时,这些字符对应什么形状由字符文件决定。字体和编码值是两个不一样的东西,比如 A 的编码值是 0x41,但是在屏幕上显示出来时可以使用不同的形状。什么叫编码?就是一个字符用什么数字来表示。比如字符 A我们使用0x41来表示它。使用 UTF8 编码时,即使 TXT 文件中丢失了某些数据,也只会影响到当前字符的显示,后面的字符不受影响。原创 2024-09-16 03:05:09 · 991 阅读 · 0 评论 -
ASCII字符和中文字符的显示
板子为韦东山老师的imx6ull板,要在LCD上实现字符的显示,要先实现我之前的博客Framebuffer应用编程里的描点函数,描点函数是屏幕显示的基础,实现了该函数才能进行本篇博客的操作,本文重点讲解字符的显示原理,实际场景中会调用函数就行了。要在 LCD 中显示一个 ASCII 字符,即英文字母这些字符,首先是要找到字符对应的点阵。在 Linux 内核源码中有这个文件:lib\fonts\font_8x16.c,里面以数组形式保存各个字符的点阵。编译时需要指定-fexec-charset=GB2312原创 2024-09-16 19:55:09 · 967 阅读 · 0 评论