Bresenham画线算法

[复制链接]
查看11 | 回复4 | 2017-9-2 09:48:04 | 显示全部楼层 |阅读模式
求一个能运行的Bresenham画线算法,如果能用鼠标画就更好了,最好是用C++写的。采纳后会再送上100分!
要是有源文件就好了,我对这个不是很清楚呀!

回复

使用道具 举报

千问 | 2017-9-2 09:48:04 | 显示全部楼层
#include void Bresenham(HDC hdc,int x1,int y1,int x2,int y2);/*Declare Windows procedure*/LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);/*Make the class name into a global variable*/char szClassName[ ] = "WinClassName";int WINAPI WinMain (HINSTANCE hThisInstance,
...
回复

使用道具 举报

千问 | 2017-9-2 09:48:04 | 显示全部楼层
基本上Bresenham画线算法的思路如下://假设该线段位于第一象限内且斜率大于0小于1,设起点为(x1,y1),终点为(x2,y2).//根据对称性,可推导至全象限内的线段.1.画起点(x1,y1).2.准备画下个点。x坐标增1,判断如果达到终点,则完成。否则,由图中可知,下个要画的点要么为当前点的右邻接点,要么是当前点的右上邻接...
回复

使用道具 举报

千问 | 2017-9-2 09:48:04 | 显示全部楼层
基本上Bresenham画线算法的思路如下://假设该线段位于第一象限内且斜率大于0小于1,设起点为(x1,y1),终点为(x2,y2).//根据对称性,可推导至全象限内的线段.1.画起点(x1,y1).2.准备画下个点。x坐标增1,判断如果达到终点,则完成。否则,由图中可知,下个要画的点要么为当前点的右邻接点,要么是当前点的右上邻接...
回复

使用道具 举报

千问 | 2017-9-2 09:48:04 | 显示全部楼层
void Bresenhamline(int x1,int y1,int x2,int y2,int c,CDC* pDC)//画直线 { int x,y,dx,dy,p,const1,const2,inc,tmp; dx=x2-x1; dy=y2-y1; if(dx*dy>=0)//准备x或y的单位递变值 inc=1; else...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行