用C语言画1/4圆弧怎么写程序?
用C语言画1/4圆弧怎么写程序?该程序要在320*240的LCD上显示出来!如下面的图片,怎么画?望高手帮忙解答下,急! 网上关于彩屏例程的都有画圆的子程序,限定一下x、y的范围就可以了 请参考rtgui dc绘图 dc.cvoid rtgui_dc_draw_arc(struct rtgui_dc *dc, rt_int16_t x, rt_int16_t y, rt_int16_t r, rt_int16_t start, rt_int16_t end) 这个吗,我觉得学机械的,学过数控技术的估计一下子就反应过了!
可以使用逐点比较法,或者DDA积分法(建议使用逐点比较法),这两种方法既可以画圆弧,也可以画直线。
可以分为四步,偏差函数构造,各方向插补,终点判别
看个例子自己动手算一下就知道了
楼主自己百度,google一下,定会有结果的! first_blood 发表于 2012-4-16 08:48 static/image/common/back.gif
请参考rtgui dc绘图 dc.c
void rtgui_dc_draw_arc(struct rtgui_dc *dc, rt_int16_t x, rt_int16_t y, rt_i ...
你说的这个函数在哪里可以找到? 本帖最后由 tdjsppwct 于 2012-4-17 14:41 编辑
xukai871105 发表于 2012-4-16 09:43 static/image/common/back.gif
这个吗,我觉得学机械的,学过数控技术的估计一下子就反应过了!
谢谢,我搜索看看 追加问题,怎样修改程序使在LCD屏幕上显示的西文字体放大?我的原程序如下:
/*----------------------------------------------
功能:输入ASCII值函数
参数:
@x--为屏幕上水平位置,以字节为单位
@y--为屏幕上垂直位置,以字节行为单位
@pstr--ASCII字符代码数组名,写入文本区
----------------------------------------------*/
void Print_ASCII(U32 x,U32 y,unsigned char *pstr)
{
unsigned int addr,addr_L,addr_H;
addr = x+y*40; // ASCII字符写入文本区,文本区起始地址为:0x0000
addr_L = addr&0xff;
addr_H = addr>>8;
LCD_Cursorxy(addr_L,addr_H);
LCD_CMDWrite(0x4c);
LCD_CMDWrite(0x42);
while(*pstr>0){
LCD_DATAWrite(*pstr++);
}
}
这个程序下显示的大小为:8*8;现在想显示到:8*16这么大,怎么修改?急 各位这个画图我已经解决,用的最笨的方法,自己用画图板画的,只是不精确,外观看起来没有多大差别。
具体才操作方法是在world温度里面画两个圆,然后用截的方式放到画图板在通过慢慢的描点画出来的
页:
[1]