基本绘图函数
这个存储库描述了Wio Terminal上TFT LCD库的一些基本绘图函数。您可以使用这些函数来创建自己的绘图函数!
绘制像素点
要在LCD屏幕上绘制一个像素点:
drawPixel(int32_t x, int32_t y, uint32_t color);
其中 (x, y)
是像素点的坐标 color
是像素点的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawPixel(4,7,TFT_BLACK); //drawing a black pixel at (4,7)
}
void loop() {}
绘制线段
要在LCD屏幕上绘制两点之间的线段:
drawLine(int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t color);
其中线段从 (x0, y0)
开始绘制,到 (x1, y1)
结束,使用 color
进行绘制。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawLine(0,0,160,120,TFT_BLACK); //drawing a black line from (0,0) to (160,120)
}
void loop() {}
此外,该库还提供了优化的函数用于绘制水平线和垂直线:
绘制水平线和垂直线:
drawFastHLine(int32_t x, int32_t y, int32_t w, uint32_t color); //Horizontal line
drawFastVLine(int32_t x, int32_t y, int32_t h, uint32_t color); //Verical line
其中 (x, y)
是起始坐标, w
是水平线的宽度, h
是垂直线的高度, color
为线的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawFastHLine(0,120,320,TFT_BLACK); //A black horizontal line starting from (0, 120)
tft.drawFastVLine(160,0,240,TFT_BLACK); // A black vertical line starting from (160, 0)
}
void loop() {}
绘制矩形
要在LCD屏幕上绘制或填充一个矩形:
drawRect(int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color);
fillRect(int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color);
其中 (x, y)
是起始坐标, w
是矩形的宽度, h
是矩形的高度, color
为矩形的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawRect(110,70,100,100,TFT_BLACK); //A 100x100 black rectangle starting from (110, 70)
}
void loop() {}
绘制圆形
要在LCD屏幕上绘制或填充一个圆形:
drawCircle(int32_t x0, int32_t y0, int32_t r, uint32_t color);
fillCircle(int32_t x0, int32_t y0, int32_t r, uint32_t color);
其中 (x0, y0)
为圆心坐标, r
为圆的半径, color
为圆的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawCircle(160,120,50,TFT_BLACK); //A black circle origin at (160, 120)
}
void loop() {}
该库还提供了绘制或填充椭圆的函数:
drawEllipse(int16_t x0, int16_t y0, int32_t rx, int32_t ry, uint16_t color);
fillEllipse(int16_t x0, int16_t y0, int32_t rx, int32_t ry, uint16_t color);
其中 (x0, y0)
是椭圆的中心坐标, rx
是水平半径, ry
是垂直半径, color
为椭圆的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawEllipse(160,120,50,100,TFT_BLACK);
//A black ellipse origin at (160, 120) with horizontal radius of 50, and vertical radius of 100
}
void loop() {}
绘制三角形
要在LCD屏幕上绘制或填充一个三角形:
drawTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, uint32_t color);
fillTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, uint32_t color);
其中 (x0, y0)
是第一个坐标, (x1, y1)
是第二个坐标, (x2, y2)
是第三个坐标, color
为三角形的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawTriangle(160,70,60,170,260,170,TFT_BLACK);
//A triangle with points at (160, 70), (60, 170) and (260, 170)
}
void loop() {}
绘制圆角矩形
要在LCD屏幕上绘制或填充一个圆角矩形:
drawRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, uint32_t color);
fillRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, uint32_t color);
其中 (x, y)
是起始坐标,w
和 h
分别为矩形的宽度和高度, r
为圆角半径, color
为矩形的颜色。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawRoundRect(110,70,100,100,10,TFT_BLACK);
//A 100x100 black roudned rectangle starting from (110, 70)
}
void loop() {}
绘制字符
要在LCD屏幕上绘制单个字符:
drawChar(int32_t x, int32_t y, uint16_t c, uint32_t color, uint32_t bg, uint8_t size)
其中 (x, y)
是起始位置, c
是字符, color
为字符的颜色, bg
为字符的背景颜色, size
为字符的大小比例。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.drawChar(140,120,'A',TFT_BLACK, TFT_RED,2); //Draw a black character A from (140,120)
tft.drawChar(155,120,'B',TFT_BLACK, TFT_RED,2); //Draw a black character B from (155,120)
tft.drawChar(170,120,'C',TFT_BLACK, TFT_RED,2); //Draw a black character C from (170,120)
}
void loop() {}
绘制文本字符串
要在LCD屏幕上绘制文本字符串:
drawString(const String& string, int32_t poX, int32_t poY);
其中 string
是文本字符串, (poX, poY)
是起始坐标。
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_RED); //Red background
tft.setTextColor(TFT_BLACK); //sets the text colour to black
tft.setTextSize(1); //sets the size of text
tft.drawString("Hello world!", 0, 0); //prints strings from (0, 0)
tft.setTextSize(2);
tft.drawString("Hello world!", 0, 10);
}
void loop() {}
填充屏幕
要填充或着色整个屏幕:
fillScreen(uint32_t color);
示例代码
#include"TFT_eSPI.h"
TFT_eSPI tft;
void setup() {
tft.begin();
tft.setRotation(3);
}
void loop() {
//Looping through color R-G-B
tft.fillScreen(TFT_RED);
delay(1000);
tft.fillScreen(TFT_GREEN);
delay(1000);
tft.fillScreen(TFT_BLUE);
delay(1000);
}
void loop() {}
技术支持 & 产品讨论
感谢您选择我们的产品!我们将为您提供不同的支持,以确保您对我们的产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。