void CPackCADView::DrawLine(int x0,int y0,int x1,int y1,CDC* pDC,COLORREF lineColor)
{
int daltaX,daltaY,x,y,pk,baseX,baseY;
CRect lpRect;
GetClientRect(&lpRect);
baseX=lpRect.Width()/2;
baseY=lpRect.Height()/2;
if (abs(y1-y0)<abs(x1-x0)) {
if (x0>x1) {
int intTmp;
intTmp=x0;
x0=x1;
x1=intTmp;
intTmp=y0;
y0=y1;
y1=intTmp;
}
daltaX=x1-x0;
daltaY=y1-y0;
x=x0;
y=y0;
pk=2*daltaY-daltaX;
pDC->SetPixel(baseX+x,baseY-y,lineColor);
while (x<x1) {
if (pk>=0) {
if (daltaY>0) {
y++;
pk+=2*daltaY-x*daltaX;
}
else pk+=2*daltaY;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载
- 1
- 2
前往页