搬运来源:http://tieba.baidu.com/p/3857481096?pn=2 原作者:http://tieba.baidu.com/home/main?un=824676271lin&ie=utf-8&fr=pb&ie=utf-8
一,主程序
一般的u8g程序格式参考:
include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g( ... );
void setup() { ... }
void loop() {
u8g.firstPage();
do {
//display
}while(u8g.nextPage());
}
其中,firstPage表示图像循环的开始;
nextPage表示图像循环的结束。
二,画几何图形,包括点,线,面
1,drawPixel(画一个点)。示例:
u8g.drawPixel(14, 23); // 横坐标x,纵坐标y
2,drawLine(画一条线段)。示例:
u8g.drawLine(7, 10, 40, 55); //起点横坐标 x1,起点纵坐标 y1,终点横坐标 x2,终点纵坐标 y2
3,drawHLine(画一条平行于x轴的线,即向右的水平线段)
drawVLine(画一条平行于y轴的线,即向下的垂直线段)。示例:
u8g.drawHLine(60,12, 30);//起点横坐标 x,起点纵坐标 y,线段长度 w(w个像素点)
u8g.drawVLine(10,20, 20);//起点横坐标 x,起点纵坐标 y,线段长度 h(h个像素点)
4,drawTriangle(画一个实心三角形)。(空心三角形用drawLine)。示例:
u8g.drawTriangle(14,9, 45,32, 9,42); //第一个点的横坐标 x0,纵坐标 y0;第二个点的横坐标 x1,纵坐标 y1;第三个点的横坐标 x2,纵坐标 y2
5,drawFrame(画一个空心矩形)。示例:
u8g.drawFrame(10, 12, 30, 20); //左上角点的横坐标 x,横坐标 y,矩形的宽 w,高 h
(注意,宽是表示x轴,高表示y轴;矩形的长宽包括了边框所在的像素点)
6,drawBox(画一个实心矩形)。示例:同上
7,drawRFrame(画一个圆角,空心的矩形)。示例:
u8g.drawRFrame(10,12, 30,20, 5); //左上角点的横坐标 x,横坐标 y,矩形的宽 w,高 h, 圆角弧度的半径 r
8,drawRBox(画一个圆角实心矩形,类似drawTFrame)。示例:同上
9,drawCircle(画一个空心圆)。示例:
u8g.drawCircle(20,20, 14); //圆心横坐标 x0,纵坐标 y0,半径 (整圆)
u8g.drawCircle(20,20, 14, U8G_DRAW_UPPER_RIGHT); // (1/4圆)
另外, U8G_DRAW_UPPER_RIGHT 只画上部右侧 1/4 圆弧
U8G_DRAW_UPPER_LEFT 只画上部左侧 1/4 圆弧
U8G_DRAW_LOWER_LEFT 只画下部左侧 1/4 圆弧
U8G_DRAW_LOWER_RIGHT 只画下部右侧 1/4 圆弧
U8G_DRAW_ALL 画一个整圆(没提到的话就默认)
10,drawDisc(画一个实心圆)(圆的直径为 2*r+1)。示例:同上
11,drawEllipse(画一个空心椭圆)。示例:
u8g.drawEllipse(20,20, 14,17); //圆心横坐标 x0,纵坐标 y0,水平方向半径 rx,竖直方向 半径 ry,是否画1/4圆(同上)
12,drawFilledEllipse(画一个实心椭圆)。示例:同上
这一小节完了。其实我觉得画几何图形还是挺有趣的