OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 15420|回复: 7

在TTF lcd上绘制虚线网格

[复制链接]

9

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2011-1-20
在线时间
7 小时
发表于 2011-3-23 11:34:39 | 显示全部楼层 |阅读模式

以下代码可实现在ministm32开发板上的TTF lcd上绘制网格;
在“ILI93xx.h”文件中加入
//绘制网格线
void lcd_Grids(u16 x1,u16 y1,u16 HSpace,u16 VSpace,u8 NumOfRows,u8 NumOfColumns,u16 BorderColor,u8 span);
void lcd_line(u16 x1, u16 y1, u16 x2, u16 y2,u8 Span); //画实线或虚线

在“ILI93xx.c”文件中加入
///////////////////////////////////
//
//网格线
//
///////////////////////////////////
void lcd_Grids(u16 x1,u16 y1,u16 HSpace,u16 VSpace,u8 NumOfRows,u8 NumOfColumns,u16 BorderColor,u8 span)
{                   
 u16 xsta,ysta,xend,yend;
 u8 i;
 
 OINT_COLOR=BorderColor; //设定边框的颜色

 //绘制水平线
 for(i=0;i<NumOfColumns;i++)
 {
  xsta=x1;
  ysta=y1+VSpace*i;
  xend=x1+HSpace*(NumOfRows-1);
  yend=y1+VSpace*i;
  //LCD_DrawLine(xsta,ysta,xend,yend);
  lcd_line(xsta,ysta,xend,yend,span);
 }
 //绘制垂直线
 for(i=0;i<NumOfRows;i++)
 {
  xsta=x1+HSpace*i;
  ysta=y1;
  xend=x1+HSpace*i;
  yend=y1+VSpace*(NumOfColumns-1);
  //LCD_DrawLine(xsta,ysta,xend,yend);
  lcd_line(xsta,ysta,xend,yend,span);
 } 
      
}

//画实线或虚线
//x1,y1:起点坐标
//x2,y2:终点坐标 
//Span:点间距
void lcd_line(u16 x1, u16 y1, u16 x2, u16 y2,u8 Span)
{
 u16 t;
 int xerr=0,yerr=0,delta_x,delta_y,distance;
 int incx,incy,uRow,uCol;

 delta_x=x2-x1; //计算坐标增量
 delta_y=y2-y1;
 uRow=x1;
 uCol=y1;
 
 if(delta_x>0)incx=1; //设置单步方向
 else if(delta_x==0)incx=0;//垂直线
 else {incx=-1;delta_x=-delta_x;}
 if(delta_y>0)incy=1;
 else if(delta_y==0)incy=0;//水平线
 else{incy=-1;delta_y=-delta_y;}
 if( delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴
 else distance=delta_y;
 
 for(t=0;t<=distance+1;t++ )//画线输出
 { 
  if((uRow<=x2)&(uCol<=y2))
  {
   LCD_DrawPoint(uRow,uCol);//画点
  }
  xerr+=delta_x ;
  yerr+=delta_y ;
  if(xerr>distance)
  {
   xerr-=distance;
   uRow+=(incx+Span);
  }
  if(yerr>distance)
  {
   yerr-=distance;
   uCol+=(incy+Span);
  }
 } 
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-3-23 11:38:28 | 显示全部楼层
回复【楼主位】master001:
-------------------------------
强烈要求上PP....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2011-3-23 11:49:32 | 显示全部楼层
无图无真相!
一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

9

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2011-1-20
在线时间
7 小时
 楼主| 发表于 2011-3-23 12:13:05 | 显示全部楼层
图片



回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-3-23 12:30:51 | 显示全部楼层
顶....
线飞的够多!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

98

主题

408

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2010-12-14
在线时间
0 小时
发表于 2011-3-23 13:10:12 | 显示全部楼层
回复【4楼】master001:
-------------------------------
不错,谢谢分享!
希望openedv能给大家提供一个友好的技术交流平台!
回复 支持 反对

使用道具 举报

19

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2011-3-23
在线时间
5 小时
发表于 2011-3-31 11:45:08 | 显示全部楼层
羡慕!!!!!!! 我也希望子可以完成,
回复 支持 反对

使用道具 举报

13

主题

104

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2011-8-2
在线时间
0 小时
发表于 2011-11-16 23:24:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 13:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表