C++ MFC 圆心坐标为double类型 怎么画??
画圆可以用Ellipse函数画。Ellipse函数的四个参数都为Int类型。要是圆的圆心和半径为double类型怎么办????...
画圆可以用Ellipse函数画。Ellipse函数的四个参数都为Int类型。要是圆的圆心和半径为double类型怎么办????
展开
3个回答
展开全部
将double型的数乘以一个“数”(倍数),然后变成整形数。
最后用Ellipse函数
最后用Ellipse函数
更多追问追答
追问
哥们 能详细点不??
追答
屏幕的分辨率假设为640*480;
这样最大的半径为240.
将圆的半径设定为接近240的数,即原来的半径r*x=240,确定倍数x。
将Ellipse函数的四个参数设定为r*x
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用GDIPlus来绘制,GDI+中有4个重载的绘制椭圆的函数,如果输入参数所确定的外接矩形的宽高相等,则画圆。(也是前两个为整数版,后两个为对应的浮点数版)
Status DrawEllipse(const Pen* pen, const Rect& rect);
Status DrawEllipse(const Pen* pen, INT x, INT y, INT width, INT height);
Status DrawEllipse(const Pen* pen, const RectF& rect);
Status DrawEllipse(const Pen* pen, REAL x, REAL y, REAL width, REAL height);这些函数的功能,与GDI中的Ellipse类似,但是同样要注意GDI+与GDI函数的区别:BOOL Ellipse( int x1, int y1, int x2, int y2 );主要是,上面的第2、4个GDI+画椭圆函数的后两个输入参数,也是矩形的宽高而不再是矩形的右下角坐标了。在这里还可以进行缩放,坐标系及缩放模式设置,还有反走样(看锯齿)支持,而且与设备指针无关,只要一个HDC句柄就可以了,试试吧
Status DrawEllipse(const Pen* pen, const Rect& rect);
Status DrawEllipse(const Pen* pen, INT x, INT y, INT width, INT height);
Status DrawEllipse(const Pen* pen, const RectF& rect);
Status DrawEllipse(const Pen* pen, REAL x, REAL y, REAL width, REAL height);这些函数的功能,与GDI中的Ellipse类似,但是同样要注意GDI+与GDI函数的区别:BOOL Ellipse( int x1, int y1, int x2, int y2 );主要是,上面的第2、4个GDI+画椭圆函数的后两个输入参数,也是矩形的宽高而不再是矩形的右下角坐标了。在这里还可以进行缩放,坐标系及缩放模式设置,还有反走样(看锯齿)支持,而且与设备指针无关,只要一个HDC句柄就可以了,试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询