python esp8266 ssd1306_[esp8266_micropython] ssd1306绘制矩形

本文介绍了如何在ESP8266微控制器上使用MicroPython绘制SSD1306 OLED显示屏上的图形,包括矩形和菱形。通过定义`light_dot`、`draw_line`、`draw_rectangle`和`draw_diamond`等函数,实现了图形的绘制和填充,并展示了具体代码实现。
摘要由CSDN通过智能技术生成

from machine import Pin, I2C

from ssd1306 import SSD1306_I2C

import math

import time

def light_dot(x, y):

oled.pixel(x, y, 1)

def draw_line(x1, y1, x2, y2, isRectangle=0):

'''

绘制线段

:param: x1 y1 x2 y2 线段两端

:param: isRetangle 是否为矩形

:return: None

'''

if (x1 == x2):

step = 1

if (y1 > y2):

step *= -1

while (y1 != y2):

light_dot(x1, y1)

y1 = y1 + step

light_dot(x2, y2)

else:

# y = kx+a

k = (y2 - y1) / (x2 - x1)

a = y1 - (k * x1)

step = 1

if (x1 > x2):

step *= -1

while (x1 != x2):

light_dot(x1, round(k * x1 + a))

x1 += step

light_dot(x2, y2)

if not isRectangle:

oled

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值