void CYuanView::OnYuan()
{
// TODO: Add your command handler code here
CDC *P=GetDC();
MidCircle(200,200,100,1,P);
}
void MidCircle(int xc,int yc,int r,int color,CDC *q)
{
int x=0,y=r,d=1-r; WholeCircle(xc,yc,x,y,color,q);
while(x<=y)
{
if(d<0) {d+=2*x+3;x++;}
else {d+=2*(x-y)+5;x++;y--;}
WholeCircle(xc,yc,x,y,color,q); }
}这样调用就可以,但是
void CMy321View::On2()
{
CDC* pDC=GetDC();
// TODO: Add your command handler code here
pDC->Ellipse(30,30,110,110);//绘制一个矩形
FourLinkFill(pDC,70,70,RGB(0,0,0),RGB(255,0,0)); //填充该矩形
}
void FourLinkFill(CDC *pDC, int x, int y, COLORREF boundaryColor, COLORREF fillColor)
{
COLORREF intColor=pDC->GetPixel(x,y);//得到当前填充点的颜色
if((intColor!=boundaryColor)&&(intColor!=fillColor)){
pDC->SetPixel(x,y,fillColor);
FourLinkFill(pDC,x+1,y,boundaryColor,fillColor);
FourLinkFill(pDC,x-1,y,boundaryColor,fillColor);
FourLinkFill(pDC,x,y+1,boundaryColor,fillColor);
FourLinkFill(pDC,x,y-1,boundaryColor,fillColor);//递归填充相邻的四点
} }就不行呢?
{
// TODO: Add your command handler code here
CDC *P=GetDC();
MidCircle(200,200,100,1,P);
}
void MidCircle(int xc,int yc,int r,int color,CDC *q)
{
int x=0,y=r,d=1-r; WholeCircle(xc,yc,x,y,color,q);
while(x<=y)
{
if(d<0) {d+=2*x+3;x++;}
else {d+=2*(x-y)+5;x++;y--;}
WholeCircle(xc,yc,x,y,color,q); }
}这样调用就可以,但是
void CMy321View::On2()
{
CDC* pDC=GetDC();
// TODO: Add your command handler code here
pDC->Ellipse(30,30,110,110);//绘制一个矩形
FourLinkFill(pDC,70,70,RGB(0,0,0),RGB(255,0,0)); //填充该矩形
}
void FourLinkFill(CDC *pDC, int x, int y, COLORREF boundaryColor, COLORREF fillColor)
{
COLORREF intColor=pDC->GetPixel(x,y);//得到当前填充点的颜色
if((intColor!=boundaryColor)&&(intColor!=fillColor)){
pDC->SetPixel(x,y,fillColor);
FourLinkFill(pDC,x+1,y,boundaryColor,fillColor);
FourLinkFill(pDC,x-1,y,boundaryColor,fillColor);
FourLinkFill(pDC,x,y+1,boundaryColor,fillColor);
FourLinkFill(pDC,x,y-1,boundaryColor,fillColor);//递归填充相邻的四点
} }就不行呢?
解决方案 »
- Ado 连接数据库的问题?
- GetGlyphOutline()最后一个MAT2类型参数是怎么一回事?
- DCOM问题, QueryInterface 拒绝访问 请帮忙看看
- 添加的滚动条问题
- 关于多线程的等待函数~~~
- WINDOWS XP下cookie的settings存在注册表的什么地方?
- Visual Studio.net 安装问题?关于安全更新
- ----------m_ctrl[MAX].Create控件用DestoryWindow后怎么判断被Destory了this
- 想在MFC单文档应用程序中显示一副等时图,求如何编写代码?谢谢
- 如何将一个raw文件显示出来?
- 检测CPU性能的C++程序,就像鲁大师检测CPU性能的功能一样。
- 今天去数字图书馆公司应聘,见习期1500.请问这算不算变相拒绝?
void CMy321View::On2()
{
CDC* pDC=GetDC();
// TODO: Add your command handler code here
pDC->Ellipse(30,30,110,110);//绘制一个矩形
//如果不是类成员函数,使用前先声明
void FourLinkFill(CDC *pDC, int x, int y, COLORREF boundaryColor, COLORREF fillColor);
FourLinkFill(pDC,70,70,RGB(0,0,0),RGB(255,0,0)); //填充该矩形}
//如果不是类成员函数,使用前先声明。或者把FourLinkFill这个函数放到On2() 之前定义也可以
1、先声明,后使用。
2、在调用函数前定义。