🍅以高速绘制为目的、牺牲代码可读性为代价、主打一个简单能用的图形库🍅
针对 ESP32 平台专门优化绘制速度。
// 基本绘图API
void drawPixel(int16_t x, int16_t y, uint16_t color);
void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
void drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
void drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
void fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color);
void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
int16_t x2, int16_t y2, uint16_t color);
void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
int16_t x2, int16_t y2, uint16_t color);
void drawRoundRect(int16_t x, int16_t y, int16_t w, int16_t h,
int16_t r, uint16_t color);
void fillRoundRect(int16_t x, int16_t y, int16_t w, int16_t h,
int16_t r, uint16_t color);
void drawEllipse(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
void fillEllipse(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
// 位图绘制函数
// 1-bit单色位图
void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
int16_t w, int16_t h, uint16_t color);
void drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
int16_t w, int16_t h, uint16_t color, uint16_t bg);
void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap,
int16_t w, int16_t h, uint16_t color);
void drawBitmap(int16_t x, int16_t y, uint8_t *bitmap,
int16_t w, int16_t h, uint16_t color, uint16_t bg);
// XBitMap格式位图
void drawXBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
int16_t w, int16_t h, uint16_t color);
// 8-bit灰度位图
void drawGrayscaleBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
int16_t w, int16_t h);
void drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap,
int16_t w, int16_t h);
void drawGrayscaleBitmap(int16_t x, int16_t y, const uint8_t bitmap[],
const uint8_t mask[], int16_t w, int16_t h);
void drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap,
uint8_t *mask, int16_t w, int16_t h);
// 16-bit RGB位图
void drawRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[],
int16_t w, int16_t h);
void drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap,
int16_t w, int16_t h);
void drawRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[],
const uint8_t mask[], int16_t w, int16_t h);
void drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap,
uint8_t *mask, int16_t w, int16_t h);- Espressif ESP32 Series (Arduino)
- Raspberry Pi RP2040 (Arduino)
- ST7306
- Osptek 300×400 4.2" B&W
- Osptek 300×400 4.2" R&BW
- Osptek 210×480 2.9" 8 Colors
- ST7305
- Osptek 200×200 1.54" B&W
- Osptek 122×250 2.13" B&W
- Osptek 168×384 2.9" B&W
- Add Bitmap support for sprites
- Getting rid of the Arduino library writeup
- Add more display drivers
- Add more examples
- Add more platforms
- Anti-aliased line drawing
- Basic drawing functions
- Sprite support
- Font rendering
- Circle and ellipse drawing
- Triangle and round rectangle drawing
- Bitmap drawing (1-bit, 8-bit grayscale, 16-bit RGB)
- XBitMap format support