首页 > 代码库 > 用中点Bresenham画直线算法绘制任意斜率直线
用中点Bresenham画直线算法绘制任意斜率直线
使用VC 6.0 mfc实现编程
刚学的图像学,挺难学的,show 代码吧
void CLineView::OnDraw(CDC* pDC) {
CLineDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
int x1 ,x2 ,y1,y2 ;
x1 = 0 ; y1 = 0 ; x2 = 1000 ; y2 = 500 ;
COLORREF c = RGB(255,0,0);
double k = y2 - y1/ x2-x1 ;
double yT = y1 ;
double d ;
double dTemp = 0.5 - k ;
for(int x = x1;x<=x2;x++) {
d = dTemp + 1 - k ; if(d < 0 )
{ dTemp = d ;
yT ++ ;
} else { dTemp = dTemp - k ; }
pDC->SetPixel(x,yT,c); }
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。