| 【花雕学编程】行空板K10系列实验之屏幕循环显示蓝彩条电子相册 
 实验开源代码
 
 
 复制代码#include "unihiker_k10.h" // 引入行空板K10的库文件,这个库文件包含了控制K10板的函数和定义。
#include "arduino_image_cache.h" // 引入图像缓存库,用于存储和管理图像数据。
// 动态变量
volatile float mind_n_Y, mind_n_X; // 定义两个浮点型变量,用于存储当前绘制线条的Y和X坐标。
// 创建对象
uint8_t screen_dir = 2; // 定义屏幕方向变量,并初始化为2。
UNIHIKER_K10 k10; // 创建一个UNIHIKER_K10类型的实例k10,用于访问和控制K10板上的功能。
// 主程序开始
void setup() {
    k10.begin(); // 初始化K10板,准备硬件接口和配置。
    k10.initScreen(screen_dir); // 根据screen_dir变量初始化屏幕的方向。
    k10.creatCanvas(); // 创建画布,用于在屏幕上绘制图形和文本。
    k10.setScreenBackground(0x000000); // 设置屏幕的背景颜色为黑色。
}
void loop() {
    // 绘制第一张图像
    k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1); // 在画布上绘制图像image_data1。
    k10.canvas->updateCanvas(); // 更新画布,将绘制的内容显示到屏幕上。
    delay(1000); // 等待1秒。
    // 从上到下绘制蓝色线条
    mind_n_Y = 0; // 初始化mind_n_Y为0。
    for (int index = 0; index < 32; index++) {
        k10.canvas->canvasLine(0, mind_n_Y, 240, mind_n_Y, 0x0000FF); // 绘制蓝色线条。
        k10.canvas->updateCanvas(); // 更新画布。
        mind_n_Y += 10; // 每次增加10,移动到下一条线的位置。
    }
    // 绘制第二张图像
    k10.canvas->canvasDrawBitmap(0,0,240,320,image_data2); // 绘制图像image_data2。
    k10.canvas->updateCanvas(); // 更新画布。
    delay(1000); // 等待1秒。
    // 从左到右绘制蓝色线条
    mind_n_X = 0; // 初始化mind_n_X为0。
    for (int index = 0; index < 24; index++) {
        k10.canvas->canvasLine(mind_n_X, 0, mind_n_X, 320, 0x0000FF); // 绘制蓝色线条。
        k10.canvas->updateCanvas(); // 更新画布。
        mind_n_X += 10; // 每次增加10,移动到下一条线的位置。
    }
    // 绘制第三张图像
    k10.canvas->canvasDrawBitmap(0,0,240,320,image_data3); // 绘制图像image_data3。
    k10.canvas->updateCanvas(); // 更新画布。
    delay(1000); // 等待1秒。
    // 从右到左绘制蓝色线条
    mind_n_X = 240; // 初始化mind_n_X为240,即屏幕最右端。
    for (int index = 0; index < 24; index++) {
        k10.canvas->canvasLine(mind_n_X, 0, mind_n_X, 320, 0x0000FF); // 绘制蓝色线条。
        k10.canvas->updateCanvas(); // 更新画布。
        mind_n_X -= 10; // 每次减少10,移动到上一条线的位置。
    }
    // 绘制第四张图像
    k10.canvas->canvasDrawBitmap(0,0,240,320,image_data4); // 绘制图像image_data4。
    k10.canvas->updateCanvas(); // 更新画布。
    delay(1000); // 等待1秒。
    // 从下到上绘制蓝色线条
    mind_n_Y = 320; // 初始化mind_n_Y为320,即屏幕最下端。
    for (int index = 0; index < 32; index++) {
        k10.canvas->canvasLine(0, mind_n_Y, 240, mind_n_Y, 0x0000FF); // 绘制蓝色线条。
        k10.canvas->updateCanvas(); // 更新画布。
        mind_n_Y -= 10; // 每次减少10,移动到上一条线的位置。
    }
}
 
 
 |