字模提取

工具资源下载:
链接:https://pan.baidu.com/s/1BF8lJLmM-V-vWrl2F6Cd7Q?pwd=mx1y
提取码:mx1y

使用方法:
1.打开软件中的PCtoLCD2002.exe
2.点击顶端的 “选项” 按钮
3.进行如下设置

  • 点阵格式(取模时候字体的点,用1还是用0)
  • 取模走向(决定取模时,靠左/靠上的点是高位还是低位)
  • 自定义格式(一般选择C51)
  • 取模方式(和取模走向共同决定取模的数据走向)
    /一般要删除“行前缀”和“行后缀”里的两个大括号/

    4.选择字形,并输入内容生成字模

    5.将保存的字模文件中的数据复制出来,添加到我们的代码中。
    格式类似如下,部分地方适情况修改。例:

    6.(此项按照个人情况参考)将提取后的字模用于STM32F401开发板
    代码 .c .h文件下载参考:

链接:https://pan.baidu.com/s/1Zu-kVByL_ny9RFGOgvUTaA?pwd=j4tl
提取码:j4tl
首先:在Keil uVision5中新建一个.c结尾的文件,专门存放我们与lcd有关的函数
以下展示部分主要函数:

/*
**********************************************************************
画点函数
**********************************************************************
*/void LCD_DrawPoint(u16 x,u16 y,u16 color)
{st7789vm_PostionSet(x,y,x,y);st7789vm_write_Data(color);}/*
**********************************************************************
图片显示
**********************************************************************
*/void Display_Pic(u16 x,u16 y,u8 *pic)
{u16 i;u16 w;u16 h;w = pic[2] << 8 | pic[3];h = pic[4] << 8 | pic[5];st7789vm_PostionSet(x,y,x+w,y+h);for(i=0;i<w*h;i++){st7789vm_write_Data(pic[8+i*2] << 8| pic[8+i*2+1]);}}/*
**********************************************************************
显示一个字符
**********************************************************************
*/void Single_Char_Display(u16 x,u16 y,u16 font_color,u16 bg_color,u16 size,u8 *eng)
{u8 i,j;if(size == 16){for(i=0;i<16;i++)//确定字符有多少行{for(j=0;j<8;j++)//确定一行里有多少位{if(eng[i] & 0x80 >> j){LCD_DrawPoint(x + j,y + i,font_color);}else{LCD_DrawPoint(x + j,y + i,bg_color);}}}}else if(size == 24){u32 buf;for(i=0;i<24;i++)//确定字符有多少行{buf = eng[i*2] << 8 | eng[i*2 + 1];for(j=0;j<16;j++)//确定一行里有多少位{if(buf & 0x8000 >> j){LCD_DrawPoint(x + j,y + i,font_color);}else{LCD_DrawPoint(x + j,y + i,bg_color);}}}}}/*
**********************************************************************
显示一个汉字
**********************************************************************
*/
void Single_Chi_Display(u16 x,u16 y,u16 font_color,u16 bg_color,u16 size,u8 *eng)
{u16 i,j;u32 buf;for(i=0;i<32;i++)//确定字符有多少行{buf = eng[i*4] << 24 | eng[i*4 + 1] << 16 | eng[i*4 + 2] << 8 | eng[i*4 + 3];for(j=0;j<32;j++)//确定一行里有多少位{if(buf & 0x80000000 >> j){LCD_DrawPoint(x + j,y + i,font_color);}else{LCD_DrawPoint(x + j,y + i,bg_color);}}}
}

其次:再新建一个.h结尾的函数,专门申明和定义我们的 lcd.c 里的函数
最后:在主函数中调用显示文字的函数,并赋上基础值。
例:

st7789vm_init();
*//*
Single_Char_Display(0,0,0x0000,0xffff,16,eng);
Single_Char_Display(0,16,0x0000,0xffff,24,eng24);
Single_Chi_Display(0,48,0x0000,0xffff,32,chi);

图片转码

工具资源下载:
图片转码 链接:https://pan.baidu.com/s/1W339tTGl-TkKyv9sEZsCdg?pwd=mmrp
提取码:mmrp

GIF分解工具 链接:https://pan.baidu.com/s/1OmOT1ZurG0C-ZjBCJbJDgg?pwd=wlzi
提取码:wlzi

使用方法:

1.直接导入图片(如果导入的图片有问题,可以选择其他的文件格式。亲测 jpg 格式可用)

2.按个人需求调整扫描模式、输出灰度、图片尺寸(注意是否勾选了 “高位在前” 的选项)
3.保存扫描并转码后的文件(图片和字符相比,数据大太多。ctrl+A全选再使用吧)
4.(此项按照个人情况参考)将提取后的字模用于STM32F401开发板

代码 .c .h文件下载参考:
链接:https://pan.baidu.com/s/1RdQOoJZDm_mw-bldfENCsQ?pwd=anfe
提取码:anfe

首先:在Keil uVision5中新建一个.c结尾的文件,专门存放我们与lcd有关的函数
以下展示部分主要函数:

lcd.c

/*
**********************************************************************
画点函数
**********************************************************************
*/void LCD_DrawPoint(u16 x,u16 y,u16 color)
{st7789vm_PostionSet(x,y,x,y);st7789vm_write_Data(color);}/*
**********************************************************************
图片显示
**********************************************************************
*/void Display_Pic(u16 x,u16 y,u8 *pic)
{u16 i;u16 w;u16 h;w = gImage_123123[2] << 8 | gImage_123123[3];h = gImage_123123[4] << 8 | gImage_123123[5];st7789vm_PostionSet(x,y,x+w,y+h);for(i=0;i<w*h;i++){st7789vm_write_Data(gImage_123123[8+i*2] << 8| gImage_123123[8+i*2+1]);}    }

其次:新建一个bmp.c的文件,存放我们导出来的图片数据
再次:再新建两个.h结尾的函数,分别申明和定义我们的 lcd.c和 bmp.c 里的函数
最后:在主函数中调用显示文字的函数,并赋上基础值。

例:

st7789vm_init();
*//*
Display_Pic(0,0,(u8 *)gImage_123123);

LCD屏幕调试 ~ 字模提取工具和图片转码工具相关推荐

  1. LCD屏幕调试过程(驱动IC ST7701s)

    调试准备工作 1.屏幕开发手册: 2.逻辑分析仪(用来捕获信号,信号是否正确): 3.驱动板,驱动屏幕显示: 屏幕接口 根据手册的说明,可以知道屏幕的一些关键信息,比方说,这里的接口是3SPI+18位 ...

  2. MIPI lcd屏幕调试方法总结

    以前工作都比较忙,很少写总结性的东西了,现在有空就写写吧. mipi 时钟比较高,一般的小公司示波器是没法测试到波形的,此时必须注意步骤,否则会因为某些小细节而搞好几天甚至更久. 1.保证MIPI l ...

  3. 【PC工具】图片批量添加水印工具,绿色免安装工具软件

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 自媒体时代,各种借鉴使用别人图片(注意这里没用照片)没什么太大的问题,去年那个靠侵权 ...

  4. 图片上传工具 java_图片上传工具类-fileUtil

    图片上传的工具类:生成缩略图,文件流转换. 可与struts2集成使用 import java.awt.Color; import java.awt.Graphics2D; import java.a ...

  5. 【PC工具】图片批量添加水印工具,绿色免安装工具软件,妈妈再也不用担心我.....

    可以快速轻松地为照片添加文字水印或图像水印.多种水印样式修改:多行文字,角度,边距,平铺,阴影和不透明度.旋转照片,调整输出照片大小并以批处理模式转换格式.允许在批处理中单独设置.使用非常简单,简单的 ...

  6. 微信开发者工具 wxmi修改模版颜色_开源免费,不错的轻量级图片批量处理工具...

    ​如果你是学生或者工作人士,学习也好,办公也好,总免不了要批量拼图截图,调节图片参数和美化. 整理&排版 | idea君 ,预计阅读时间 | 7分钟 软件作者:CNOliverZhang,如有 ...

  7. 在线图片转base64工具

    在线图片转base64工具 在线图片转base64工具 本工具支持将图片转成Base64编码或将Base64编码还原成图片文件,方便快捷. 数据仅在客户端计算处理,不会上传到网络服务器中,请放心使用. ...

  8. 在线图片坐标拾取工具

    在线图片坐标拾取工具 在线图片坐标拾取工具 图片位置坐标拾取,可以点击或直接复制图像,按CTRL+V加载图像,在图片上移动鼠标即可拾取图片当前位置的坐标,数据纯本地浏览器处理,不会上传到服务器,请放心 ...

  9. 如何编辑图片上的文字?在线图片去字工具怎样使用?

    现在我们从网上看到的很多图片都是带文字.水印的,在图片上添加文字既可以作为美化图片的一种方式,也可以作为水印来防止自己的图片被他人盗取使用,一般要编辑图片上的文字都需要比较专业的图片处理软件例如PS, ...

  10. 【好用的办公软件】万彩办公大师教程丨TIFF图片合并分割工具

    关于万彩办公大师的TIFF图片合并分割工具 TIFF图片合并分割工具,能将tiff文件的多个图片分割成单页的bmp/jpg/png/tif/gif图片格式,反过来也能把bmp/jpg/png/tif/ ...

最新文章

  1. Codeforces 458A Golden System
  2. 少儿编程语言python-2019儿童编程语言大全
  3. LeetCode OJ -- Binary Tree Paths
  4. 在Apache配置反向代理即实现输出内容替换
  5. 商用工程开发中的一些习惯
  6. 文件服务器数据备份方案,BACKUPPC服务器数据备份方案.pdf
  7. python模块导入及属性:import
  8. 全网首发:多个mimetypes xml设置某种文件类型的不同图标,LINUX怎样确定使用哪个
  9. ASP.NET 服务端GZIP压缩
  10. 二次元《尤里国简介》
  11. 大文件上传下载实现思路,分片、断点续传代码实现,以及webUpload组件
  12. 上三角数字三角形(Java)
  13. office转换pdf [doc,docx,xls,xlsx]
  14. swper_swipe和swiper的区别
  15. 互联网巨头的人工智能野心,你看懂了吗?
  16. oracle apex global,Oracle Apex 实用笔记系列 1 - Oracle Apex 调试技巧
  17. IPv6进阶:IPv6 过渡技术之 NAT64(IPv4 节点主动访问 IPv6 节点)
  18. excel文件被写保护怎么解除_如何去掉Excel表格中的密码保护?
  19. Android Multimedia Framework overview(多媒体框架概述)--base on jellybean(一)
  20. React学习二(组件详解)

热门文章

  1. 万能账号密码使用详解,黑客常用的入门级操作
  2. 统计案例 | 统计数据会说谎?
  3. 离散数学耿素云计算机,离散数学,屈婉玲,耿素云,张立昂编著_考研教材_考试点...
  4. 从零开始了解 kubernetes,还有谁不会?
  5. Linux之分析bin文件的10种方法
  6. c# midi播放器_C#中的MIDI文件切片器和MIDI库
  7. 初级官方卡刷包精简 添加万能ROOT
  8. 五子棋软件测试自学,初学者如何从零开始自学五子棋
  9. 央行数字货币在技术上是如何实现的
  10. aac和mp3在码率压缩的一些事