完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[C] 纯文本查看 复制代码
//画任意线//x0,y0:起点 x1,y1:终点//color:颜色void gui_draw_line(u16 x0,u16 y0,u16 x1,u16 y1,u16 color){u16 t; int xerr=0,yerr=0,delta_x,delta_y,distance; int incx,incy,uRow,uCol; delta_x=x1-x0; //计算坐标增量 delta_y=y1-y0; uRow=x0; uCol=y0; 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++ )//画线输出 { gui_phy.draw_point(uRow,uCol,color);//画点 xerr+=delta_x ; yerr+=delta_y ; if(xerr>distance) { xerr-=distance; uRow+=incx; } if(yerr>distance) { yerr-=distance; uCol+=incy; } } }//画椭圆//x0,y0:坐标//rx:x方向半径//ry:y方向半径//color:椭圆的颜色void gui_draw_ellipse(u16 x0, u16 y0, u16 rx, u16 ry,u16 color) {u32 OutConst, Sum, SumY;u16 x,y;u16 xOld;u32 _rx = rx;u32 _ry = ry;if(rx>x0||ry>y0)return;//非法.OutConst = _rx*_rx*_ry*_ry+(_rx*_rx*_ry>>1); // Constant as explaint above // To compensate for rounding xOld = x = rx;for (y=0; y<=ry; y++) {if (y==ry)x=0; else {SumY =((u32)(rx*rx))*((u32)(y*y)); // Does not change in loop while(Sum = SumY + ((u32)(ry*ry))*((u32)(x*x)),(x>0) && (Sum>OutConst)) x--;}// Since we draw lines, we can not draw on the first iteration if (y) {gui_draw_line(x0-xOld,y0-y+1,x0-x,y0-y,color);gui_draw_line(x0-xOld,y0+y-1,x0-x,y0+y,color);gui_draw_line(x0+xOld,y0-y+1,x0+x,y0-y,color);gui_draw_line(x0+xOld,y0+y-1,x0+x,y0+y,color);}xOld = x;}} |
|
|
|
屏幕是800*480的,应该没超过吧
|
|
|
|
其他不好说,不过我倒是可以提供你一个画椭圆的函数。
|
|
|
|
什么函数?
|
|
|
|
谢谢,这个非常好,感觉比库里的用起来灵活
|
|
|
|
只有小组成员才能发言,加入小组>>
722 浏览 0 评论
1123 浏览 1 评论
2504 浏览 5 评论
2840 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2684 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
682浏览 5评论
665浏览 5评论
imx6dl芯片与imx6q芯片互换启动无反应请问是什么问题呢
280浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 18:03 , Processed in 1.076935 second(s), Total 59, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号