k210-k210图形化

1.绘制图形

import lcd, image


#初始化lcd和image
lcd.init()
img = image.Image(size=(lcd.width(), lcd.height()))
#填充背景颜色为(0, 81, 137)
img.draw_rectangle((0, 0, lcd.width(), lcd.height()), fill=True, color=(0, 81, 137))
#在(50,10)位置显示“Hello”字符串
img.draw_string(50, 10, "Hello", color=(255, 255, 255), scale=2)
#在(50,50)位置画线
img.draw_line(50, 50, 200, 50, color=(100, 0, 0), thickness=5)
#在(50,60)位置画个矩形
img.draw_rectangle(50, 60, 150, 150, color=(0, 100, 0), thickness=2, fill=True)
#在(125,135)位置画个圆
img.draw_circle(125, 135, 50, color=(255, 255, 255), thickness=2, fill=True)

lcd.display(img)

2.按钮和点击事件

模块的出厂固件已经集成lvgl图形化

# 导入相关库
import lvgl as lv
import lvgl_helper as lv_h

import lcd
import time
from machine import Timer
import touchscreen as ts

#初始化lcd、触摸板和lvgl
lcd.init()
ts.init()
lv.init()

#将K210的屏幕驱动对接到lvgl的显示注册接口。
disp_buf1 = lv.disp_buf_t()
buf1_1 = bytearray(320*10)
lv.disp_buf_init(disp_buf1, buf1_1, None, len(buf1_1)//4)
disp_drv = lv.disp_drv_t()
lv.disp_drv_init(disp_drv)
disp_drv.buffer = disp_buf1
disp_drv.flush_cb = lv_h.flush
disp_drv.hor_res = 320
disp_drv.ver_res = 240
lv.disp_drv_register(disp_drv)

#将K210的触摸板驱动对接到lvgl的输入注册接口
indev_drv = lv.indev_drv_t()
lv.indev_drv_init(indev_drv)
indev_drv.type = lv.INDEV_TYPE.POINTER
indev_drv.read_cb = lv_h.read
lv.indev_drv_register(indev_drv)

#新建一个按钮,并显示名称为"Button"
scr = lv.obj()
btn = lv.btn(scr)
btn.align(lv.scr_act(), lv.ALIGN.CENTER, 0, 0)
label = lv.label(btn)
label.set_text("Button")
label.set_size(20,20)
lv.scr_load(scr)


#按钮按下的处理事件为:每次检测到按钮按下,则btn_count自动加1,并显示在按钮上
btn_count = 0
def on_btn_cb(obj, event):
    global btn_count
    if event == lv.EVENT.CLICKED:
        btn_count += 1
        label.set_text(str(btn_count))
        print("Button Press:", btn_count)

btn.set_event_cb(on_btn_cb)
#由于lvgl的图像需要实时更新,所以需要每5毫秒刷新一次lvgl的任务
tim = time.ticks_ms()
while True:
    if time.ticks_ms()-tim > 5:
        tim = time.ticks_ms()
        lv.task_handler()
        lv.tick_inc(5)
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值