1、引入模块

from PIL import ImageDraw
from PIL import Image
from PIL import ImageFontimport Adafruit_GPIO.SPI as SPI
import Adafruit_SSD1306

2、一些默认参数

# Raspberry Pi pin configuration:
RST = 24
# Note the following are only used with SPI:
DC = 23
SPI_PORT = 0
SPI_DEVICE = 0

2、获取OLED的实例

# 128x64 display with hardware I2C:
disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)

3、将oled库初始化,并且清除界面

disp.begin()disp.clear()
disp.display()

4、创建一幅新的图片,图片大小为oled的尺寸

width = disp.width
height = disp.height
image = Image.new('1', (width, height))

5、将图片加载在绘制对象上,相当于加载在画板上

draw = ImageDraw.Draw(image)

6、字体选择

# 库里默认的字体,在ImageFont里面
default_font = ImageFont.load_default()# 树莓派里的字体库,可以设置字体大小
font = ImageFont.truetype('/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf', 29)

7、绘制文字

draw.text((0, 40), "hello world", font=font, fill=255)

8、在oled显示

disp.image(image)
disp.display()

补充:

树莓派上中文字库下载:sudo apt-get install ttf-wqy-zenhei

测试效果

树莓派: oled屏幕字体制作相关推荐

  1. python oled库_在树莓派上使用 SSD1306 OLED 屏幕

    树莓派在许多使用场景下并不需要接一台专用显示器,如需要查看树莓派上的一些信息可以通过手机.电脑登录到树莓派上操作,但总归不够便利. 下面介绍两款 OLED 小屏(均为 SSD1306 芯片驱动)可以直 ...

  2. 树莓派3B+使用0.96 oled 屏幕(附完整可运行代码)

    树莓派3B+使用 0.96寸oled 屏幕(附完整可运行代码) 一.基本配置 先阅读以下博客较为详解,完成基本配置以及相关代码的说明 0.96寸OLED 使用树莓派的I2C协议调用wiringPiI2 ...

  3. I2C 连接 12864 OLED 屏幕

    http://ardui.co/archives/738 我是潘,曾经是个工程师.这是为 Ardui.Co 制作的 "Arduino 公开课" 系列的入门教程.上一课介绍了I2C ...

  4. OLED控制字体和大小

    我在制作基于树莓派的语音助手中需要把识别出的文字打印到屏幕上. 但是,面对两个问题.中文和大小 解决方案如下: 找到stats.py 有这样一段话  注释掉102行, 对106行编辑   其中两个参数 ...

  5. 进阶篇——树莓派OLED模块的使用 大量例程详解

    树莓派OLED模块的使用教程大量例程详解 #树莓派# 简介 Python有两个可以用的OLED库 [Adafruit_Python_SSD1306库]->只支持SSD1306 [Luma.ole ...

  6. 快速上手Arduino -- 打印超声波模块测距信息到OLED屏幕上

    文章目录 快速上手Arduino -- 打印超声波模块测距信息到OLED屏幕上 实现效果: 模块说明: 引脚接线方法: 程序源码 附录 快速上手Arduino – 打印超声波模块测距信息到OLED屏幕 ...

  7. SPI驱动0.96/1.3寸 OLED屏幕,易修改为DMA控制

    目录 OLED SPI 端口定义 七针OLED引脚定义 六针OLED引脚定义 驱动程序 oled.c oled.h oledfont.h 使用 main.c 实验现象 STC实验箱4 IAP15W4K ...

  8. 1.3寸 SH1106 OLED 屏幕驱动 基于stm32

    1.前言 最近公司使用了一块用SH1106驱动的OLED 屏幕,但是发现网上的OLED大部分都是基于ssd1306驱动芯片的,关于SH1106的资料比较少,因此将自己使用过程中遇到的问题写下来. 2. ...

  9. STM32 —— OLED 屏幕入门

    STM32 -- OLED 屏幕入门 OLED 屏幕官方历程虽然没有给出 STM32C8T6 的对应版本,这里使用与我们使用的芯片最接近的芯片的历程 STM32RCT6 的官方历程 简介 OLED 屏 ...

  10. 项目训练营模块学习---Oled屏幕

    声明:本专题主要针对训练营的同学开设的,因为了解到大家对于一些常用模块还是不会使用,因此开设次专栏去给大家讲解,如何在项目中来快速入门一些模块,转载请注明出处. 作者:渣渣鑫 目录 专题:OLED的使 ...

最新文章

  1. RocketMQ工作原理 高级功能介绍
  2. HEVC算法和体系结构:环路滤波技术
  3. 控制台输入与Math Random的基本使用
  4. sql 2005判断某个表或某个表中的列是否存在
  5. python读取文件夹下所有图像 预处理_Tensorflow之tif图像文件预处理
  6. Storm教程1理论介绍
  7. python代码比例_Python如何输出百分比
  8. Qt图形界面编程入门(7)
  9. 墙裂推荐 | 漫画解读Elasticsearch原理,看完你就懂
  10. iPhone SplitViewController
  11. 基于Hadoop 的分布式网络爬虫技术学习笔记
  12. 解决Win10打开可执行文件提示为了对电脑进行保护,已经阻止此应用的问题
  13. 基于Opencv3的活动轮廓模型--CV, RSF and DRLSE
  14. mac上编码转换工具_25个用于高效编码的Mac工具
  15. 电源设计中的电容应用实例
  16. 腾讯云TSF微服务平台及ServiceMesh技术实践
  17. js判断当前设备及获取设备、浏览器的宽度和高度
  18. Google Earth Engine(GEE)——Output of image computation is too large (29 bands for 828828 pixels = 96.
  19. 鸿蒙系统中的 WebView 加载H5页面出现net::ERR_CLEARTEXT_NOT_PERMITTED的解决方法
  20. 农行上海研发中心面经

热门文章

  1. MVX Android设计架构浅析-MVP
  2. 数字游戏(number)
  3. [导入]GIS的下个十年(Cary Mann, vice president, Bentley)
  4. 计算机控制课程设计体会,计算机控制技术课程设计心得体会
  5. 【Nginx之轨迹】Nginx + Lua 实现 waf Web 应用防火墙(解决 nignx 加载失败问题:LuaJIT version which is not OpenResty‘s)
  6. 使用n2disk和PF_RING构建一个(便宜的)2×10 Gbit(连续)数据包记录器
  7. CDH6.3.2安装部署
  8. 使用GLSurfaceView实现涂鸦画板功能
  9. macOS 终端打开提示:zsh compinit: insecure directories
  10. XAMPP运行MySQL entire log window on the forums解决方案