LCD屏幕 ~ 字模提取工具和图片转码工具

2023-05-16

目录

字模提取

工具资源下载:

图片转码

工具资源下载:


字模提取

工具资源下载:

链接: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);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LCD屏幕 ~ 字模提取工具和图片转码工具 的相关文章

  • 树莓派Raspberry Pi 2B在Kali上使用TightVNCServer灰屏

    1 将 root vnc xstartup改为 span class token shebang important bin sh span unset SESSION MANAGER unset DBUS SESSION BUS ADDR
  • STM32——UCOSIII 简介

    目录 UCOSIII简介 UCOSIII中的任务 组成 任务堆栈 任务控制块 任务函数 任务函数模板 UCOSIII系统任务 组成 空闲任务 时钟节拍任务 统计任务 定时任务 中断服务管理任务 UCOSIII任务状态 组成及状态概念 UCO
  • ARM —— 寄存器的封装

    目录 SFR 直接一对一封装 结构体封装寄存器 SFR 全称 xff1a 特殊功能寄存器 xff08 Special Function Register xff09 作用 xff1a 用于 控制片内外设 xff0c 存放 相应功能部件的 控
  • Ubuntu给Pix2.4.8刷Ardupilot固件

    全文基于waf编译器使用 waf命令 xff0c APM官网对于waf的使用描述 xff1a https github com ArduPilot ardupilot blob master BUILD md 前提 xff1a 已经在ubu
  • 程序猿面试经验总结(经验篇)

    开篇序 金九银十大家都知道吧 xff0c 的确九十月份都是跳槽旺季与招聘旺季 xff0c 无论是找工作的 招聘的单位都是特别特别的多 xff0c 多的你有时候看都看不过来 xff0c 以至于让你有时候很难选择 xff0c 其实选择对应自己的
  • STM32 HAL库和标准库的原理区别

    STM32 HAL库和标准库的原理区别 HAL简介 HAL库 xff0c HAL是Hardware Abstraction Layer的缩写 xff0c 中文名称是 xff1a 硬件抽象层 xff0c 是st公司为了更方便地进行stm32之
  • 【超详细~】js的三大定时器:setTimeout、setInterval、requestAnimationFrame

    setTimeout xff08 表达式 xff0c 时间 xff09 61 gt 是指延迟指定时间后才调用函数 xff0c 调用次数仅一次 xff1b setInterval xff08 表达式 xff0c 时间 xff09 61 gt
  • FreeRTOS的学习(一)——实时操作系统和多任务的介绍

    目录 1 初识FreeRTOS 2 FreeRTOS 任务的状态 3 FreeRTOS 的任务 任务的创建和删除 1 xTaskCreate xff1a 使用静态的方法创建一个任务 2 xTaskCreateStatic xff1a 使用静
  • FreeRTOS的学习(四)—— 信号量之间的优先级翻转问题和互斥信号量

    目录 优先级翻转现象 什么是优先级翻转 互斥信号量 1 互斥信号量简介 2 创建互斥信号量 1 函数 xSemaphoreCreateMutex 2 函数 xSemaphoreCreateMutexStatic 3 释放互斥信号量 4 获取
  • STC15单片机 固定翼无人机/航模 飞控程序

    stc15单片机 固定翼无人机 飞控程序 硬件 stcf2k60s22 4g无线通信模块nrf24l01mg90s数字舵机摇杆无刷电机电调 用到的单片机资源 pwmad转换 程序结构 利用ADC转换读取摇杆值将摇杆数值转换为16进制通过2
  • ESP8266 WIFI 模块使用说明

    ESP8266是ai thinker公司推出的一款无线WIFI模块 xff0c 可以通过配置 xff0c 和单片机上的串口进行通信 xff0c 利用WIFI传输数据 1 AT指令简介 同许多通信模块一样 xff0c 我们需要对WIFI模块利
  • Ubuntu18更新软件源、安装python3.8和安装pip

    目录 一 更新软件源二 安装python3 8三 安装pip 一 更新软件源 1 xff09 首先 xff0c 打开sources list文件 sudo vim etc apt sources list 若没有vim xff0c 则需要进
  • Python 迭代器 与 异常处理

    文章目录 迭代介绍可迭代对象迭代器对象迭代器对象取值 方法的简写for循环内部原理异常处理异常的分类异常的类型异常的处理try except 语句try except else 语句try except finally 语句try exce
  • linux系统进程 exec函数族的使用(fork之后)

    1 2 exec 函数族 头文件 unistd h 3 exec 函数可用在fork 函数之后 xff0c 直接执行一个程序而省略子进程复制父进程的资源 4 调用exec不会创建一个新的pid 5 6 path xff1a 可执行文件的路径
  • Collecting package metadata (current_repodata.json): failed的问题解决

    解决方法 1 删除 condarc文件 2 关闭VPN 3 https的锅 xff0c 详情看下面的博客 环境配置 Collecting package metadata current repodata json failed的问题解决
  • 作业1:CAN数据库配置(DBC)

    目录 一 首先如何创建dbc文件 二 创建 三 创建节点NODE 一 其它 xff08 共1题 xff0c 100分 xff09 1 其它 使用vector candb editor软件 xff0c 按给定的信号矩阵配置CAN xff0c
  • Visual Studio 2022 C++下载及配置

    下载地址 xff1a https visualstudio microsoft com zh hans vs 之后点击右下角的安装 xff1b 如果下载速度一直为0 xff0c 那么解决方法为 xff1a 修改电脑的DNS服务器地址为8 8
  • app测试和web测试的区别

    1 功能方面 xff1a 在流程和功能测试上是没有区别的 xff0c 系统测试和一些细节可能会不一样 那么我们就要先来了解 xff0c web和app的区别 xff1a web项目 xff0c 一般都是b s架构 xff0c 基于浏览器的
  • Java网络编程实现

    前言 计算机网路实现了多个网络终端的互联 xff0c 彼此之间能够进行数据交流 而网络应用程序就是在已连接的不同终端设备上运行的程序 xff0c 这些网络程序相互之间可以进行数据交互 网络程序的数据交互则依赖于TCP IP协议 xff0c
  • java对象转JSONObject、JSONObject转java对象及String转JSONObject

    JSONObject jo 61 JSONObject JSONObject toJSON javaBean Student stu 61 JSONObject parseObject jo Student class JSONObject

随机推荐

  • redis设置密码

    设置密码有两种方式 1 命令行设置密码 运行cmd切换到redis根目录 xff0c 先启动服务端 gt redis server exe 另开一个cmd切换到redis根目录 xff0c 启动客户端 gt redis cli exe h
  • 【Java】Java四舍五入保留1位小数、2位小数

    方法一 xff1a 使用字符串格式化实现四舍五入 支持float和double类型 double data 61 3 02 利用字符串格式化的方式实现四舍五入 保留1位小数 String result 61 String format 34
  • ROS: [xxx.launch] is neither a launch file in package

    在ROS执行launch文件的过程中 xff0c 我经常碰见这个问题 xff0c 比如最近在安装ARBOTIX仿真器的时候 sudo apt get install ros indigo arbotix rospack profile 安装
  • SpringBoot文件上传

    文件上传 Spring MVC对文件上传做了简化 xff0c 在Spring Boot中对此做了更进一步的简化 xff0c 文件上传更为方便 Java中的文件上传一共涉及两个组件 xff0c 一个是CommonsMultipartResol
  • Django-图书管理系统(含源码)

    前段时间翻文件发现了以前学习python和django时做的一个系统 xff0c 当时的想法是将这玩意做出来应付web开发大作业 课程设计作业甚至是毕设用的 xff0c 实际上也确实应付了课程设计 xff0c 功能虽然不算多 xff0c 但
  • Android Studio 实现登录注册-源代码 (连接MySql数据库)

    Android Studio 实现登录注册 源代码 xff08 连接MySql数据库 xff09 Android Studio 实现登录注册 源代码 二 xff08 Servlet 43 连接MySql数据库 xff09 Android S
  • MySQL8重置root账户密码图文教程

    root账户为MySQL的超级管理员用户 xff0c 拥有MySQL提供的所有权限 我们登录了root账户可以重置其它创建的所有用户的密码 xff0c 那么root账户的密码忘记了怎么办呢 xff1f 由于版本和安装环境的不同 xff0c
  • docker执行权限问题Got permission denied while trying to connect to the Docker daemon socket

    安装docker之后 xff0c 执行docker images等命令 xff0c 提示权限问题 xff0c 报错如下 xff1a Got permission denied while trying to connect to the D
  • @ServletComponentScan和@ComponentScan 注解

    springboot 项目启动类中我们经常见到这两个注解 64 ServletComponentScan和 64 ComponentScan 下面我们就言简意赅的介绍一下这两个注解的作用 一 64 ServletComponentScan
  • MySQL中使用序列-Sequence

    在Oracle数据库中若想要一个连续的自增的数据类型的值 xff0c 可以通过创建一个sequence来实现 而在MySQL数据库中并没有sequence 通常如果一个表只需要一个自增的列 xff0c 那么我们可以使用MySQL的auto
  • SpringMVC获取请求参数

    CSDN话题挑战赛第1期 活动详情地址 https marketing csdn net p bb5081d88a77db8d6ef45bb7b6ef3d7f 大家好 我是郭尕 SpringMVC获取请求参数 一 前言 二 通过控制器方法的
  • 搞定Redis(三)消息的发布、订阅和新增数据类型

    一 Redis的发布和订阅 1 什么是发布和订阅 Redis 发布订阅 pub sub 是一种消息通信模式 xff1a 发送者 pub 发送消息 xff0c 订阅者 sub 接收消息 Redis 客户端可以订阅任意数量的频道 2 Redis
  • 智能控制——模糊数学及控制

    一 模糊控制概况 模糊逻辑控制 Fuzzy Logic Control 简称模糊控制 Fuzzy Control xff0c 是以模糊集合论 模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术 1965年 xff0c 美国的L A Z
  • CMakeList 将CPP代码编译成可执行文件示例

    一 本次编译 CMakeList中用到的语法详解 1 设置cmake 版本 xff1a cmake minimum required VERSION 3 5 2 set the project name project Agent Test
  • STM32 IO口模拟串口

    红叶何时落水 什么是串口呢 xff1f 简单来说它是一种通信协议 xff1b 串口是一个泛称 xff0c UART TTL RS232 RS485都遵循类似的通信时序协议 xff0c 因此都被通称为串口 而对于单片机来说 xff0c 串口通
  • python学习:最适合初学者的8本Python书籍

    Python是最友好的编程语言之一 xff0c 也因此成为初学者的首选 xff0c 为了帮助你更好更快的上手Python xff0c 并学会使用Python进行编程 xff0c 本文我们为初学者分享了最好的Python书籍 希望能够对你有所
  • 最适合Python入门到大牛必看的7本书籍,一定要收藏!

    Python零基础应该阅读哪些书籍 xff1f 我推荐这三本书 1 Python学习手册 xff08 第4版 xff09 以计算机科学家一样的思维方式来理解Python语言编程 xff0c 实用的学习指南 xff0c 适合没有Python编
  • 电脑可以上网,但是仍然显示无网络连接

    不知道是否因为win11的正式发布 xff0c 催促着win10的更新 xff0c 而在更新中对于部分用户的电脑产生了bug xff1a 目前被证实为win10 1607版本后 xff0c URL变动引起的 在我们使用WLAN连接方式时 x
  • 阿里云云平台,物联网可视化web界面简单教程

    目前市面上的云平台 xff0c 多以华为 xff0c 阿里 xff0c 中国移动为主 但是了解一个 xff0c 便可满足需求了 1 首先 xff0c 我们要创建一个属于自己的账号 xff0c 然后尽可能的领取各种限免套餐 2 打开产品这一栏
  • LCD屏幕 ~ 字模提取工具和图片转码工具

    目录 字模提取 工具资源下载 xff1a 图片转码 工具资源下载 xff1a 字模提取 工具资源下载 xff1a 链接 xff1a https pan baidu com s 1BF8lJLmM V vWrl2F6Cd7Q pwd 61 m