登录
首页 » VC++源码 » VC++三种直线扫描转换算法范例演示

VC++三种直线扫描转换算法范例演示

于 2022-03-19 发布 文件大小:2.88 MB
0 248
下载积分: 2 下载次数: 1

代码说明:

本源码演示了三种VC++直线扫描转换算法,这3种方式是:bresenham方法、数值微分法、中点画线法。本程序同时是一个MFC单文档程序,进行直线段扫面转换算法的算法验证。   1.使用Wizard建立单文档程序;   2.绘制20*20的网格线,格子X和Y方向间隔均为20像素,网格起始坐标在(20,20)。我们使用此网格模拟像素矩阵(),格子交叉点是像素中心。   3.输入直线段两端点,可使用以下两种方法之一:   a)对话框输入   b)鼠标在网格内以鼠标左键按下-拖动-抬起方式输入。注意:直线段两端点要自动取整到模拟的像素中心位置   4.进行直线段扫描转换,通过点击鼠标右键调用方式或者菜单调用的方式执行。计算完成后,将扫描转换结果,在模拟的像素矩阵中,使用圆形显示出来。   通过这个实验,我们可以熟悉扫描的算法,其中要注意的是判断直线的斜率,分情况处理竖直直线段、斜率绝对值大于1、斜率绝对值小于1的情况,这部分需要花费一些时间去算。总之还是对扫描算法的理解和编程基矗

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 创建一个非模态对话框
    VC++ 创建一个非模态对话框,比较一下模态对话框,与其有何异同。以下是创建对话框的代码:   void CNonModeDlgDlg::Finish()   {    m_pChoice = NULL;    GetDlgItem(IDOK)->EnableWindow();   }   void CNonModeDlgDlg::OnOK()   {    if ( m_pChoice == NULL )    {    m_pChoice = new CChoiceDlg(this);    if ( m_pChoice->Create() == TRUE )    {    GetDlgItem(IDOK)->EnableWindow(FALSE);    }    }    else    {    m_pChoice->SetActiveWindow();    }   }
    2022-02-10 13:08:52下载
    积分:1
  • VC++ 在Combobox组合框的下拉列表框中实现自动选择
    VC++ 在组合框的下拉列表框中实现自动选择,当在Combobox组合框中键入字符时,组合框会根据用户的输入在列表框中自动选择匹配的项,其实就是大家熟悉的搜索提示,用户输入时,Combobox下拉框会智能匹配用户的输入内容,显得很智能的下拉框。
    2022-08-06 12:06:50下载
    积分:1
  • VC++ Windows Shell扩展 上下文菜单扩展
    VC++ Windows Shell扩展,设计 制作 上下文菜单扩展,响应右键消息菜单,当用户点击我们添加的菜单项时该方法将被调用。将生成的菜单插入到shell上下文菜单中,返回插入的菜单数,一定要返回正确,包括生成的父菜单也要计入总数,如果用户是在浏览器窗口中右击文本文件,或选中一个文本文件后单击文件菜单时,状态栏会显示提示帮助。。。。
    2022-07-10 00:48:50下载
    积分:1
  • VC++演示如何使用insert语句批量向数据库插入数据
    VC++演示如何使用insert语句批量向数据库插入数据,这个我感觉挺有用处吧,一般情况下,我们录入都是一条一条的,但信息量较大的时候,就需要批量插入数据了,我们可以先读取外部指定格式的文件,然后将数据转换为可插入的格式,然后使用insert批量向数据库中插入数据,有效提升工作效率。本示例测试前请先准备好数据库并连接上,否则会报错。
    2022-02-26 09:24:35下载
    积分:1
  • VC++6.0释放EXE资文件
    VC++6.0释放EXE资源文件,要释放的程序是一个简单的MessageBox,基于MFC对话框程序,先插入已经存EXE(或DLL)文件到VC资源文件中。   /* 函数说明:释放资源中某类型的文件   /* 参 数:新文件名、资源ID、资源类型   /* 返 回 值:成功返回TRUE,否则返回FALSE   BOOL CTestDlg::ReleaseRes(CString strFileName,WORD wResID,CString strFileType)   {    // 资源大小    DWORD dwWrite=0;    // 创建文件    HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,    CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);    if ( hFile == INVALID_HANDLE_VALUE )    {    return FALSE;    }    // 查找资源文件中、加载资源到内存、得到资源大小    HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);    HGLOBAL hG = LoadResource(NULL, hrsc);    DWORD dwSize = SizeofResource( NULL, hrsc);    // 写入文件    WriteFile(hFile,hG,dwSize,&dwWrite,NULL);    CloseHandle( hFile );    return TRUE;   }
    2022-12-26 04:00:03下载
    积分:1
  • VC++ 6.0 测试监听用户的鼠标事件
    VC++ 鼠标事件测试,本程序的功能:测试用户的鼠标事件,在客户区显示信息,获得当前客户区的矩形区域,程序可判断当前按下的是鼠标左键或右键,或是鼠标移动了,是否操作了鼠标滚轮,以及当前是否松开了鼠标右键或左键等事件。
    2023-08-14 22:50:02下载
    积分:1
  • VC++ 制作的 TextProgress文本进度条样例
    这是VC++ 制作的 TextProgress文本进度条样例,可自定义步长和进度条数字变化范围,根据窗口中的提示设置相关参数后,即可看到进度条的变化效果,下面是具体的实现代码:   void CTextProgressDlg::OnButtonStart()   {    UpdateData();    m_ctrProgressBar.SetPos(0);//设定当前位置    m_ctrProgressBar.SetRange(m_nRangeFrom,m_nRangeTo); //设定范围    m_ctrProgressBar.SetStep(m_nStep);//设定步长    m_ctrProgressBar.SetShowText(TRUE);//允许显示文字    for (int i = 0; i
    2022-11-21 13:20:03下载
    积分:1
  • VC++ 实现屏幕取词功能的鼠标钩子
    VC++实现类似早期金山词霸屏幕取词功能的鼠标钩子HOOK,鼠标HOOK,钩子的实现例子附上源码,里面包括了两个源码:   Mousehook为类似金山词霸屏幕取词功能的鼠标钩子   TestMouseHook文件夹内为鼠标钩子生成DLL的源码例子   在调用这个钩子时,要把MouseHook文件夹内生成的DLL拷贝至TestMousehook的BIN目录下。   调用钩子时,要做相关设置:   #pragma data_seg("mydata")   HWND glhPrevTarWnd = NULL; //上次鼠标所指的窗口句柄   HWND glhDisplayWnd = NULL; //显示目标窗口标题编辑框的句柄   HHOOK glhHook = NULL; //安装的鼠标勾子句柄   HINSTANCE glhInstance = NULL; //DLL实例句柄   #pragma data_seg()   还有安装钩子并设定接收显示窗口句柄、设置显示目标窗口标题编辑框的句柄、得到光标(point)所在点的窗口句柄、得到整个窗口在屏幕上的矩形框位置等。
    2023-05-25 03:10:04下载
    积分:1
  • VC.NET输入框出现气球提示
    VC++.net实现输入框气球提示,本源码最主要演示EDITBALLOONTIP的用法。当用户拖动最小化窗口时系统调用此函数取得光标显示,然后调用预设的提示信息显示给用户,让用户知道此输入框应该输入什么类型的内容,用户体验更好。
    2022-01-26 20:21:11下载
    积分:1
  • VC++ 多文档程序实现为新建的文档设置显示字体
    VC++ 多文档程序实现为新建的文档设置显示字体,m_str="多文档应用程序实例!";//输出文本   CFontDialog dlg;//字体对话框   dlg.GetCurrentFont(&m_lf);   if(dlg.DoModal()==IDOK)//显示对话框   dlg.GetCurrentFont(&m_lf);//获取用户设置的字体信息   return TRUE;   CString str=pDoc->m_str;//获取输出文本   LOGFONT lf=pDoc->m_lf;//获取字体结构   CFont *pFont=new CFont;   pFont->CreateFontIndirect(&lf);//创建字体   CFont *poldFont=pDC->SelectObject(pFont);//载入DC   pDC->TextOut(40,40,str);//输出文本   pDC->SelectObject(poldFont);//恢复字体
    2022-12-19 01:50:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载