ESP32- 项目应用1 智能手表之功能补全 #5
1 天气显示优化
1.1 天气图标下载
心知天气 API 每一种天气现象(例如:晴、小雨、多云等)都对应一个天气现象代码,即 API 返回结果中的 code 字段。下表列出了心知天气 API 所有可能返回的天气现象代码。注:部分天气现象提供白天和夜间两种代码。
每一个天气现象代码也对应了一个 PNG 图标,心知天气用户可免费下载使用。
下载地址:
1.2 图片转化
利用lvgl的在线编辑工具,把所有图片转化成为所有的.C库。
转化的结果:
1.3 绘图图标
利用lvgl的img的控件,在界面上面绘制天气图像。
img_weather= lv_img_create(scr); lv_img_set_src(img_weather,&img_99); // 默认不显示天气lv_obj_align(img_weather, LV_ALIGN_BOTTOM_RIGHT, -10, -30);
1.4 更新图标
第四部分已经获取到天气的code的数据,只要解析出来,控制图片显示就好。这样的图像根据实时天气,调整图像的图片。
const lv_img_dsc_t *weather_icons[] = {&img_0, &img_1, &img_2, &img_3, &img_4,&img_5, &img_6, &img_7, &img_8, &img_9,&img_10, &img_11, &img_12, &img_13, &img_14,&img_15, &img_16, &img_17, &img_18, &img_19,&img_20, &img_21, &img_22, &img_23, &img_24,&img_25, &img_26, &img_27, &img_28, &img_29,&img_30, &img_31