【花雕学编程】行空板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,移动到上一条线的位置。
- }
- }
复制代码
|