下载 >  开发技术 >  C > 计算机图形学种子填充程序
4

计算机图形学种子填充程序

用c语言编的程序,运用了指针、数组等知识。
2009-06-10 上传大小:2KB
分享
收藏 举报

评论 共1条

haorenwchx 种子算法不是特别完善
2013-12-21
回复
计算机图形学 种子填充算法 MFC、VC

种子填充算法,自己写的,希望对大家有用 // 种子法View.cpp : implementation of the CMyView class // #include "stdafx.h" #include "种子法.h" #include "种子法Doc.h" #include "种子法View.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif struct point { int x; int y; }p[10]={200,100,100,200,150,100,200,300,250,100,300,200,-1}; point stack[1024000]; int top; void push(int x,int y) { if(top>1024000)exit(0); stack[top].x=x; stack[top].y=y; top++; } void pop(int &x,int &y) { if(top==0) exit(0); x=stack[top-1].x; y=stack[top-1].y; top--; } void gettop(int &x,int &y) { if(top==0) exit(0); x=stack[top-1].x; y=stack[top-1].y; } ///////////////////////////////////////////////////////////////////////////// // CMyView IMPLEMENT_DYNCREATE(CMyView, CView) BEGIN_MESSAGE_MAP(CMyView, CView) //{{AFX_MSG_MAP(CMyView) ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyView construction/destruction CMyView::CMyView() { // TODO: add construction code here } CMyView::~CMyView() { } BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); } ///////////////////////////////////////////////////////////////////////////// // CMyView drawing void CMyView::OnLButtonDown(UINT nFlags, CPoint point) { int x,y; CClientDC dc(this); // TODO: Add your message handler code here and/or call default origin=point; push(origin.x,origin.y); while(top!=0) { pop(x,y); if(dc.GetPixel(x-1,y)!=0)//不等于边界色 { dc.SetPixel(x-1,y,0);//染成黑色 push(x-1,y); //加入栈 } if(dc.GetPixel(x+1,y)!=0) { dc.SetPixel(x+1,y,0); push(x+1,y); } if(dc.GetPixel(x,y-1)!=0) { dc.SetPixel(x,y-1,0); push(x,y-1); } if(dc.GetPixel(x,y+1)!=0) { dc.SetPixel(x,y+1,0); push(x,y+1); } } CView::OnLButtonDown(nFlags, point); } void CMyView::OnDraw(CDC* pDC) { CClientDC dc(this); dc.TextOut(1,5,"请为每个区选种子,务必在图形内"); CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); int i; for(i=0;p[i+1].x!=-1;i++) { dc.MoveTo(p[i].x,p[i].y); dc.LineTo(p[i+1].x,p[i+1].y); } dc.MoveTo(p[i].x,p[i].y); dc.LineTo(p[0].x,p[0].y); // TODO: add draw code for native data here } ///////////////////////////////////////////////////////////////////////////// // CMyView printing BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation return DoPreparePrinting(pInfo); } void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add extra initialization before printing } void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add cleanup after printing } ///////////////////////////////////////////////////////////////////////////// // CMyView diagnostics #ifdef _DEBUG void CMyView::AssertValid() const { CView::AssertValid(); } void CMyView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CMyDoc* CMyView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc))); return (CMyDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMyView message handlers

立即下载
计算机图形学填充算法,使用OpenGL+MFC实现

程序功能介绍: 本程序是在上次的画直线、画圆的程序上修改的,添加了扫描线填充算法,使用OpenGL+MFC实现。 填充算法的使用说明: 1、选择菜单中的“种子填充”--〉“鼠标画边界”,然后在绘图区域左键点击若干个点作为多边形的顶点,最后点击右键来表示选点结束,点击右键之后,屏幕上会将这些点按顺序连成多边形。 2、选择菜单中的“种子填充”--〉“开始填充”,然后左键点击多边形内任意一点(给定种子),本程序会立刻用种子填充算法将多边形内部填充 3、如果要再次画多边形,请再次选择“种子填充”--〉“鼠标画边界”

立即下载
计算机图形学 扫描线种子填充算法c#实现

计算机图形学 扫描线种子填充算法实现 1、初始化堆栈。   2、种子压入堆栈。   3、while(堆栈非空)     {      (1)从堆栈弹出种子象素。      (2)如果种子象素尚未填充,则:       a.求出种子区段:xleft、xright;       b.填充整个区段。       c.检查相邻的上扫描线的xleft≤x≤xright区间内,是否存在需要填充的新区段,如果存在的话,则把每个新区段在xleft≤x≤xright范围内的最右边的象素,作为新的种子象素依次压入堆栈。       d.检查相邻的下扫描线的xleft≤x≤xright区间内,是否存在需要填充的新区段,如果存在的话,则把每个新区段在 xleft≤x≤xright范围内的最右边的象素,作为新的种子象素依次压入堆栈。     }

立即下载
计算机图形学画线、画圆、种子填充算法MFC的实现

实习作业,画线画圆种子填充算法在MFC工程中的实现,部分代码有引用

立即下载
计算机图形学OpenGL、codeblock、四连通种子填充算法

实验二 (选做)种子填充算法 (选做)扫描线算法

立即下载
计算机图形学大实验多边形填充(扫描线法、种子填充法、种子填充法)

计算机图形学的大实验,直线、圆、多边形画法,多边形填充算法,包括扫描线填充、四方向种子填充和种子栈填充,方法是,先画好多边形,点击多边形填充方法,选择好颜色后,点击多边形,就可自动填充。注意,种子填充法,多边形不要画太大

立即下载
计算机图形学 直线、圆及多种填充算法

这段时间弄了很多图形学方面的算法,如DDA画直线算法,以及MidpointLine、BresenhamLine、还有画圆的BresenhamCircle、MidpointCircle以及多种 种子填充算法,如Floodfill、ScanlineSeedfill、ET边表的 Polygonfill算法以及自创的ASSfill算法。 VC6.0MFC编写。

立即下载
计算机图形学种子填充

计算机图形学之种子填充 学计算机图形学的可以看看

立即下载
计算机图形学多边形填充源代码

这是计算机图形学课程中的一个练习题,鼠标点击绘制多边形,绘制完成后用算法对多边形进行填充。这是我自己实现的源代码。

立即下载
MFC下实现四向连通种子填充算法

本程序是在MFC下实现的图形填充的算法,使用了四向连通种子填充算法。

立即下载
计算机图形学区域实填充

计算机图形学中关于区域实填充的程序,还包括种子填充。

立即下载
计算机图形学实验种子填充

计算机图形学的种子填充实验,运用wintc运行

立即下载
种子填充算法,扫描线填充算法,带报告

多边形的区域填充 学时:2 实验类型:设计性 实验类别:专业实验 实验目的 1. 通过实验,进一步理解和掌握几种常用多边形填充算法的基本原理 2. 掌握多边形区域填充算法的基本过程 3. 掌握在C/C++环境下用多边形填充算法编程实现指定多边形的填充。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用种子填充算法和扫描线填充算法等任意两种算法实现指定多边形的区域填充。 实验步骤 1. 复习有关算法,明确实验目的和要求; 2. 依据算法思想,绘制程序流程图(指定填充多边形); 3. 设计程序界面,要求操作方便; 4. 用C/C++语言编写源程序并调试、执行(最好能用动画显示填充过程); 5. 分析实验结果 6. 对程序设计过程中出现的问题进行分析与总结; 7. 打印源程序或把源程序以文件的形式提交; 8. 按格式要求完成实验报告。 实验报告要求: 1. 分析算法的工作原理; 2. 画出算法的流程图 3. 实验结果及分析(比较两种算法的不同) 4. 实验总结(含问题分析及解决方法)

立即下载
计算机图形学源码(DDA直线、中点直线、画圆、填充、剪裁、旋转、Bezier曲线、B样条曲线等 请去描述里面的链接http://download.csdn.net/source/3459644下载新版本)

请去下面链接下载新版本的源码,新版本源码支持不同图层的旋转平移缩放等。 http://download.csdn.net/source/3459644

立即下载
计算机图形学--种子填充(c#)

用C#实现的计算机图形学上的种子填充经典算法(VS2005),操作说明:鼠标的点击直接可以在界面上画出图形,点击选取种子点后,鼠标再点下的点就是种子点,就可以开始填充了

立即下载
计算机图形学种子填充练习

计算机图形学的基本内容之一的种子填充练习,完全代码程序实现。

立即下载
种子填充多边形

计算机图形学中种子的算法以及填充多边形!Vc程序源文件!可运行!

立即下载
计算机图形学填充种子算法

计算机图形学填充种子算法 学习的好法宝 用过的 绝对经典

立即下载
计算机图形学第二章

涉及到扫描线、种子填充法等算法,计算机图形学相关知识

立即下载
计算机图形学OpenGL多边形填充算法源码

代码是基于OpenGL的控制台程序,用C++编写,下载后直接复制到工程项目中即可运行,适合初学者学习。

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

计算机图形学种子填充程序

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: