MFC中点画椭圆的工程怎么建??
中点算法画椭圆,用MFC画,建立工程的具体步骤》要详细的。。。。。。》??急,,,,谢谢了!!!!!回答正确多加10分,哈!!...
中点算法画椭圆,用MFC画,建立工程的具体步骤》要详细的。。。。。。》??急,,,,谢谢了!!!!!
回答正确多加10分,哈!! 展开
回答正确多加10分,哈!! 展开
3个回答
展开全部
CClientDC dc(this);
CClientDC myDC(this);
if( flag ==1)
myDC.SetPixel(xcenter,ycenter,RGB(11,225,110));
if ( flag == 2 )
{
int x=0;
int y=b;
int p1,p2;
p1=b*b+a*a*(-b+0.25);
while(b*b*(x+1)<a*a*(y-0.5))
{
if (p1<0)
{
p1+=b*b*(2*x+3);
x++;
}
else
{
p1+=(b*b*(2*x+3)+a*a*(-2*y+2));
x++;y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
p2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;
while(y>0)
{
if(p2<0)
{
p2+=b*b*(2*x+2)+a*a*(-2*y+3);
x++;y--;
}
else
{
p2+=a*a*(-2*y+3);
y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
}
CClientDC myDC(this);
if( flag ==1)
myDC.SetPixel(xcenter,ycenter,RGB(11,225,110));
if ( flag == 2 )
{
int x=0;
int y=b;
int p1,p2;
p1=b*b+a*a*(-b+0.25);
while(b*b*(x+1)<a*a*(y-0.5))
{
if (p1<0)
{
p1+=b*b*(2*x+3);
x++;
}
else
{
p1+=(b*b*(2*x+3)+a*a*(-2*y+2));
x++;y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
p2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;
while(y>0)
{
if(p2<0)
{
p2+=b*b*(2*x+2)+a*a*(-2*y+3);
x++;y--;
}
else
{
p2+=a*a*(-2*y+3);
y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
}
展开全部
file -> new -> projects -> MFC AppWizard
选择基于对话框
在void CGcDlg::OnPaint()里
CPaintDC dc(this);
dc.Ellipse(0,0,100,50);
CDialog::OnPaint();
选择基于对话框
在void CGcDlg::OnPaint()里
CPaintDC dc(this);
dc.Ellipse(0,0,100,50);
CDialog::OnPaint();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CClientDC
dc(this);
CClientDC
myDC(this);
if(
flag
==1)
myDC.SetPixel(xcenter,ycenter,RGB(11,225,110));
if
(
flag
==
2
)
{
int
x=0;
int
y=b;
int
p1,p2;
p1=b*b+a*a*(-b+0.25);
while(b*b*(x+1)<a*a*(y-0.5))
{
if
(p1<0)
{
p1+=b*b*(2*x+3);
x++;
}
else
{
p1+=(b*b*(2*x+3)+a*a*(-2*y+2));
x++;y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
p2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;
while(y>0)
{
if(p2<0)
{
p2+=b*b*(2*x+2)+a*a*(-2*y+3);
x++;y--;
}
else
{
p2+=a*a*(-2*y+3);
y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
}
dc(this);
CClientDC
myDC(this);
if(
flag
==1)
myDC.SetPixel(xcenter,ycenter,RGB(11,225,110));
if
(
flag
==
2
)
{
int
x=0;
int
y=b;
int
p1,p2;
p1=b*b+a*a*(-b+0.25);
while(b*b*(x+1)<a*a*(y-0.5))
{
if
(p1<0)
{
p1+=b*b*(2*x+3);
x++;
}
else
{
p1+=(b*b*(2*x+3)+a*a*(-2*y+2));
x++;y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
p2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;
while(y>0)
{
if(p2<0)
{
p2+=b*b*(2*x+2)+a*a*(-2*y+3);
x++;y--;
}
else
{
p2+=a*a*(-2*y+3);
y--;
}
myDC.SetPixel(xcenter+x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter+y,RGB(0,0,225));
myDC.SetPixel(xcenter+x,ycenter-y,RGB(0,0,225));
myDC.SetPixel(xcenter-x,ycenter-y,RGB(0,0,225));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询