win_picture.lua 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. --[[
  2. @module win_picture
  3. @summary 静态图片显示演示模块
  4. @version 1.0.0
  5. @date 2025.12.9
  6. @author 江访
  7. @usage
  8. 本文件为静态图片显示演示模块,核心业务逻辑为:
  9. 1、创建窗口容器并设置白色背景;
  10. 2、添加静态图片显示组件;
  11. 3、启动UI渲染循环持续刷新显示;
  12. 本文件没有对外接口;
  13. ]]
  14. local function ui_main()
  15. -- 显示触摸初始化
  16. hw_font_drv.init()
  17. -- 设置主题
  18. ui.sw_init({ theme = "light" })
  19. -- 创建窗口容器
  20. local page1 = ui.window({ background_color = ui.COLOR_WHITE })
  21. -- 计算居中位置
  22. local page_w, page_h = lcd.getSize()
  23. local pic_width = 300
  24. local pic_height = 300
  25. local pic_x = (page_w - pic_width) / 2
  26. local pic_y = 100
  27. -- 创建静态图片组件
  28. local pic = ui.picture({
  29. x = pic_x, y = pic_y,
  30. w = pic_width, h = pic_height,
  31. sources = {"/luadb/logo.jpg"}
  32. })
  33. -- 添加标题
  34. local title_label = ui.label({
  35. x = pic_x, y = pic_y - 60,
  36. text = "静态图片显示演示",
  37. color = ui.COLOR_BLACK,
  38. size = 24
  39. })
  40. -- 添加说明标签
  41. local hint_label = ui.label({
  42. x = pic_x, y = pic_y + pic_height + 20,
  43. text = "显示单张静态图片",
  44. color = ui.COLOR_GRAY,
  45. size = 16
  46. })
  47. -- 添加组件到窗口
  48. page1:add(title_label)
  49. page1:add(pic)
  50. page1:add(hint_label)
  51. -- 注册窗口到UI系统
  52. ui.add(page1)
  53. end
  54. sys.taskInit(ui_main)