📄 circle.cpp
字号:
// Circle.cpp: implementation of the CCircle class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Graph.h"
#include "Circle.h"
#include "math.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCircle::CCircle()
{
}
CCircle::~CCircle()
{
}
void CCircle::CircleMidPoint(CDC *pDC, int ptCenterx, int ptCentery, int r, COLORREF color)
{
int ptx,pty;
ptx =0;pty =r;int p=1-r;
CirclePlotPoint(pDC,ptCenterx,ptCentery,ptx,pty,color);
while(ptx <pty)
{ptx ++;
if(p<0) p+=2*ptx +1;else{pty--;
p+=2*(ptx -pty)+1;
}
CirclePlotPoint(pDC,ptCenterx,ptCentery,ptx,pty,color);
}
}
void CCircle::CirclePlotPoint(CDC *pDC, int ptCenterx, int ptCentery, int ptx, int pty, COLORREF color)
{
pDC->SetPixel(ptCenterx+ptx,ptCentery+pty,color);
pDC->SetPixel(ptCenterx-ptx,ptCentery+pty,color);
pDC->SetPixel(ptCenterx+ptx,ptCentery-pty,color);
pDC->SetPixel(ptCenterx-ptx,ptCentery-pty,color);
pDC->SetPixel(ptCenterx+pty,ptCentery+ptx,color);
pDC->SetPixel(ptCenterx-pty,ptCentery+ptx,color);
pDC->SetPixel(ptCenterx+pty,ptCentery-ptx,color);
pDC->SetPixel(ptCenterx-pty,ptCentery-ptx,color);
}
void CCircle::draw(CDC *pDC)
{
int ptCenterx=(m_ptBegin.x+m_ptEnd.x)/2;
int ptCentery=(m_ptBegin.y+m_ptEnd.y)/2;
int t1=(m_ptBegin.x-m_ptEnd.x)*(m_ptBegin.x-m_ptEnd.x);
int t2=(m_ptBegin.y-m_ptEnd.y)*(m_ptBegin.y-m_ptEnd.y);
int r=(int)sqrt(t1+t2);
CircleMidPoint(pDC, ptCenterx,ptCentery,r,m_color);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -