资料库

第06章-2D图形库(uCGUI中文手册).pdf

第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
资料共25页,剩余部分请下载后查看
第6章 2-D图形库
6.1 API参考:图形
6.2 绘图模式
与GUI_DRAWMODE_XOR有关的限制
GUI_SetDrawMode
6.3 基本绘图函数
GUI_DrawPixel
GUI_DrawPoint
GUI_FillRect
GUI_InvertRect
6.4 绘制位图
GUI_DrawBitmap
GUI_DrawBitmapExp
GUI_DrawBitmapMag
GUI_DrawStreamedBitmap
6.5 绘线
GUI_DrawHLine
GUI_DrawLine
GUI_DrawLineRel
GUI_DrawLineTo
GUI_DrawPolyLine
GUI_DrawVLine
6.6 绘多边形
GUI_DrawPolygon
GUI_EnlargePolygon
GUI_FillPolygon
GUI_MagnifyPolygon
GUI_RotatePolygon
6.7 绘圆
GUI_DrawCircle
GUI_FillCircle
6.8 绘椭圆
GUI_DrawEllipse
GUI_FillEllipse
6.9 绘制圆弧
GUI_DrawArc
第6章 2-D图形库 µC/GUI包括有一个完整的2-D图形库,在大多数场下应用是足够了。µC/GUI提供的函数既 可以与裁剪区一道使用也可以脱离裁剪区使用(参考第12章“视窗管理器”),这些函数基 于快速及有效率的算法建立。 目前,只有绘制圆弧函数要求浮点运算支持。 µC/GUI 中文手册 第 1 页
第 6 章 2-D 图形库 6.1 API参考:图形 下表列出了与图形处理相关的函数,在各自的类型中按字母顺序进行排列。函数的详细 描述后面列出。 函 数 说 明 绘图模式 GUI_SetDrawMode() 设置绘图模式。 GUI_ClearRect() GUI_DrawPixel() GUI_DrawPoint() GUI_FillRect() 基本绘图函数 使用背景颜色填充一个矩形区域。 绘一个单像素点。 绘一个点。 绘一个填充的矩形。 GUI_InvertRect() 反转一个矩形区域。 绘制位图 GUI_DrawBitmap() 绘制一幅位图。 GUI_DrawBitmapExp() 绘制一幅位图。 GUI_DrawBitmapMag() 绘制一幅放大的位图。 GUI_DrawStreamedBitmap() 从一个位图数据流的数据绘制一幅位图。 GUI_DrawHLine() GUI_DrawLine() GUI_DrawLineRel() 绘线 绘一根水平线。 绘一根线。 从当前坐标到端点绘一根线,该端点由X轴距 离及Y轴距离指定。 GUI_DrawLineTo() 从当前坐标到端点(X,Y)绘一根线。 GUI_DrawPolyLine() 绘折线。 GUI_DrawVLine() 绘一根垂直线。 绘多边形 GUI_DrawPolygon() 绘一个多边形。 GUI_EnlargePolygon() 对一个多边形进行扩边。 GUI_FillPolygon() 绘一个填充的多边形。 GUI_MagnifyPolygon() 放大一个多边形。 GUI_RotatePolygon() 按指定角度旋转一个多边形。 GUI_DrawCircle() GUI_FillCircle() 绘圆 绘一个圆。 绘一个填充的圆。 绘椭圆 GUI_DrawEllipse() 绘一个椭圆。 GUI_FillEllipse() 绘一个填充的椭圆。 第 2 页 µC/GUI 中文手册
第 6 章 2-D 图形库 绘圆弧 绘一个圆弧 GUI_DrawArc() 6.2 绘图模式 µC/GUI提供两种绘图模式,NORMAL模式及XOR模式。默认为NORMAL模式,即显示屏的内容 被绘图所完全覆盖。在XOR模式,当绘图覆盖在上面时,显示屏的内容反相显示。 与GUI_DRAWMODE_XOR有关的限制 XOR模式通常用于在活动视窗或屏幕中使用两种颜色进行显示的场合。 • • 一些µC/GUI的绘图函数并不能正确地工作在这种模式。通常情况下,这模式只是工 作 于 一 个 像 素 大 小 的 笔 尖 尺 寸 。 这 意 味 着 在 使 用 类 似 GUI_DrawLine , GUI_DrawCircle,GUI_DrawRect等等这样的函数之前,你必须确定在XOR模式下,笔 尖尺寸已经设为1。 • 当使用颜色的深度大于1位/像素(bpp)进行位图绘制,该模式无效。 • 当使用诸如GUI_DrawPolyLine这样的函数或多次调用GUI_DrawLineTo函数,转角点 会反相两次。结果是这些像素保持背景颜色。 GUI_SetDrawMode 描述 选择指定的绘图模式 函数原型 GUI_DRAWMODE GUI_SetDrawMode(GUI_DRAWMODE mode); 参 数 mode 含 意 设置的绘图模式。可以是任意设置绘图模式的函数的返回值或 是下表中的任一个。 参数mode允许的数值 GUI_DRAWMODE_NORMAL 默认:绘点,线,区域,位图 GUI_DRAWMODE_XOR 当在屏幕上另一个物体上用颜色覆盖时对点,线,区 域进行反相显示 返回值 µC/GUI 中文手册 第 3 页
第 6 章 2-D 图形库 所选择的绘图模式 附加信息 作为设置绘图模式的附加功能,该函数也可以用于恢复原先被修改的绘图模式。 如果使用颜色,一个反相的像素由下式算出: 新像素颜色 = 颜色的数值 - 实际像素颜色 - 1 范例 // 显示两个圆,其中第二个以XOR模式与第一个结合 GUI_Clear(); GUI_SetDrawMode(GUI_DRAWMODE_NORMAL); GUI_FillCircle(120, 64, 40); GUI_SetDrawMode(GUI_DRAWMODE_XOR); GUI_FillCircle(140, 84, 40); 上面范例程序运行结果的屏幕截图 6.3 基本绘图函数 基本绘图函数允许在显示屏上的任何位置进行单独的点,水平和垂直线段和形状的绘制。 使用任何有效的绘图模式。因为这些函数在大多数应用中被频繁调用,因此它们已经被尽量 地优化以获得尽可能快的速度。例如,水平和垂直线段绘制函数不需要使用单个点绘制函数。 GUI_ClearRect 描述 在当前视窗的指定位置通过向一个矩形区域填充背景色来清除它。 第 4 页 µC/GUI 中文手册
第 6 章 2-D 图形库 函数原型 void GUI_ClearRect(int x0, int y0, int x1, int y1); 参 数 含 意 x0 y0 x1 y0 左上角X坐标 左上角Y坐标 右下角X坐标 右下角Y坐标 相关主题 GUI_InvertRect,GUI_FillRect GUI_DrawPixel 描述 在当前视窗的指定坐标绘一个像素点。 函数原型 void GUI_DrawPixel(int x, int y); 参 数 含 意 x y 像素点的X坐标 像素点的Y坐标 相关主题 GUI_DrawPoint GUI_DrawPoint 描述 在当前视窗使用当前尺寸笔尖绘一个点。 函数原型 µC/GUI 中文手册 第 5 页
第 6 章 2-D 图形库 void GUI_DrawPoint(int x, int y); 参 数 x y 含 意 点的X坐标 点的Y坐标 相关主题 GUI_DrawPixel GUI_FillRect 描述 在当前视窗指定的位置绘一个矩形填充区域。 函数原型 void GUI_FillRect(int x0, int y0, int x1, int y1); 参 数 x0 y0 x1 y0 含 意 左上角X坐标 左上角Y坐标 右下角X坐标 右下角Y坐标 附加信息 使用当前的绘图模式,通常表示在矩形内的所有像素都被设置。 相关主题 GUI_InvertRect,GUI_ClearRect GUI_InvertRect 描述 在当前视窗的指定位置绘一反相的矩形区域。 函数原型 第 6 页 µC/GUI 中文手册
第 6 章 2-D 图形库 void GUI_InvertRect(int x0, int y0, int x1, int y1); 参 数 x0 y0 x1 y0 含 意 左上角X坐标 左上角Y坐标 右下角X坐标 右下角Y坐标 相关主题 GUI_FillRect,GUI_ClearRect 6.4 绘制位图 GUI_DrawBitmap 描述 在当前视窗的指定位置绘一幅位图。 函数原型 void GUI_DrawBitmap(const GUI_BITMAP*pBM, int x, int y); 参 数 含 意 pBM 需显示位图的指针 x y 位图在屏幕上位置的左上角X坐标 位图在屏幕上位置的左上角Y坐标 附加信息 位图数据必须定义为像素×像素。每个像素等同于一位。最高有效位(MSB)定义第一个 像素;图片数据以位流进行说明,以第一个字节的MSB作为起始。新的一行总是在一个偶数地 址开始,而位图的第N行在地址偏移量n* BytesPerLine处开始。位图可以在客户区中任意一 点显示,位图转换器用于产生位图。 范例 extern const GUI_BITMAP bmMicriumLogo; /* 声明外部位图 */ void main() µC/GUI 中文手册 第 7 页
第 6 章 2-D 图形库 { } GUI_Init(); GUI_DrawBitmap(&bmMicriumLogo,45,20); 上面范例程序运行结果的屏幕截图 GUI_DrawBitmapExp 描述 与GUI_DrawBitmap函数具有相同功能,但是带有扩展参数设置。 函数原型 void GUI_DrawBitmapExp( int x0, int y0, int XSize, int YSize, int XMul, int YMul, int BitsPerPixel, int BytesPerLine, const U8* pData, const GUI_LOGPALETTE* pPal); 参 数 x y Xsize Ysize XMuL YMuL 含 意 位图在屏幕上位置的左上角X坐标 位图在屏幕上位置的左上角Y坐标 水平方向像素的数量,有效范围:1~255 垂直方向像素的数量,有效范围:1~255 X轴方向比例因数 Y轴方向比例因数 BitsPerPixel 每像素的位数 BytesPerLine 图形每行的字节数 pData pPal 实际图形的指针,该数据定义位图的外表特征 指向GUI_LOGPALETTE结构的指针 第 8 页 µC/GUI 中文手册
分享到:
收藏