亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 填充view.cpp

?? 一個關于wince下的繪圖中對不規則圖形的種子法填充的源代碼
?? CPP
字號:
// 填充View.cpp : implementation of the CMyView class
//

#include "stdafx.h"
#include "填充.h"

#include "填充Doc.h"
#include "填充View.h"

typedef struct CNewPoint 
{
    //CPoint point;
    int x;
    int y;
    int isflled;
    //bool isfilled;
}CNewPoint;

#include <stack>
using namespace std;

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyView

IMPLEMENT_DYNCREATE(CMyView, CView)

BEGIN_MESSAGE_MAP(CMyView, CView)
	//{{AFX_MSG_MAP(CMyView)
	ON_WM_LBUTTONDOWN()
	ON_WM_RBUTTONDOWN()
	//}}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::OnDraw(CDC* pDC)
{
	CMyDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// 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

void CMyView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CDC *pDC;
	pDC = GetDC();
	int x,y;
x = point.x;
y = point.y;

    COLORREF fill_color = RGB(0,0,255);


  COLORREF   boundaryvalue;//底板顏色   
  int   x0,xl,xr,y0,xid;   
  bool   flag;//
  stack   <CNewPoint>   s;//操作數棧
  CNewPoint point_fill ;//= new CNewPoint();
  CNewPoint   p;//定義一個點
  point_fill.isflled = 1;//表示點未被畫過
  point_fill.x = x;
  point_fill.y = y;

  boundaryvalue = pDC->GetPixel( x - 1, y);   
  s.push(point_fill);//將右鍵取得點(x,y)入棧   
    
  //********************當棧非空時循環   
  while(!s.empty())   
  {   
  p=s.top(); //將棧頂元素傳值給p   
  s.pop(); //彈出棧頂元素   
  x=p.x; //記錄點的x值   
  y=p.y; //記錄點的y值   
    
  // TRACE("pop   x=%d,y=%d\n",x,y);     //其功能相當與c中的printf,僅在MFC調試中有用   
    
  pDC->SetPixel(x,y,fill_color);//將點(x,y)填充   
  x0=x+1; //向右移一個像素   
    
  while(pDC->GetPixel(x0,y)==boundaryvalue&& pDC->GetPixel(x0,y) != fill_color)//當點(x0,y)的像素值等于底板像素值時,循環   
  {   
  pDC->SetPixel(x0   ,y   ,fill_color);   //將點(x0,y)填充   
  x0++; //向右移一個像素,循環--繼續填充,直至到邊界點   
  }   
    
    
  xr=x0-1;//xr為右邊界點的左邊一個點的x值,記錄用   
  x0=x-1;   //x0變成原種子點p左一個點的x值   
    
  while(pDC->GetPixel(x0,y)==boundaryvalue && pDC->GetPixel(x0,y) != fill_color)//當點(x0,y)的像素值等于底板像素值時,循環   
  {   
  pDC->SetPixel(x0   ,y   ,fill_color);//將點(x0,y)填充   
  x0--;//向左移一個像素,循環--繼續填充,直至到邊界點   
  }  
  
  xl=x0+1;   //xl為左邊界點的右邊一個點的x值,記錄用   

  y0=y;   //為y0賦值為y,與種子點的y值相等   
    
  for(int   i=1;i>=-1;i-=2)//做兩次循環,之所以這樣定義賦值,因為下面有變量要用到i的值   
  {   
  // MessageBox("");   
  x0=xr;   //將右邊界左邊一點的xr的值傳給x0   
  y=y0+i;//y的值先加1,再減1,表示點下移一行,在下次循環時上移一行   
    
  while(x0>=xl)//當x0>=xl時循環   
  {   
  flag=FALSE;   
  while((pDC->GetPixel(x0,y)==boundaryvalue)   
  &&   (pDC->GetPixel(x0,y)!=fill_color)   
  &&   (x0>=xl))         //當點(x0,y)沒被填充且不是邊界   且   x0>=xl時   ---循環   
  {   
  if(!flag)               //如果flag為false   
  {   
  flag=TRUE;     //將flag改為ture   
  xid=x0;           //xid賦值為x0,xid作為記錄x0用   
  }   
  x0--;                       //點(x0,y)   每次循環左移一點   
  }   
    
  if(flag)//當flag為ture時   
  { 
      point_fill.y = y;
      point_fill.x = xid;
  s.push(point_fill);     //將點(xid,y)入棧   
  // TRACE("push   x=%d,y=%d\n",xid,y);     //其功能相當與c中的printf,僅在MFC調試中有用   
  flag=FALSE;                           //然后在將flag置為false   
  }  
  
  while(((pDC->GetPixel(x0,y)!=boundaryvalue)&&(pDC->GetPixel(x0,y)!=fill_color)) ||
         (pDC->GetPixel(x0,y) == fill_color))
  {
      if (x0 < 0)
      {
          break;
      }
      x0--;
  }
     //當點(x0,y)是邊界   或者   填充過時,(x0,y)   向左移一點   
  }//end   of   while(x0>=xl)   
    
  }//end   of   for(int   i=1;i>=-1;i-=2)   
    
  }//end   of   while(!s.empty())   
    
  //**********************************   
  
	CView::OnLButtonDown(nFlags, point);
}

void CMyView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
		CClientDC dc(this);
	
		dc.Rectangle(CRect(10,10,100,100));
		dc.Rectangle(CRect(15,15,125,125));
		dc.Rectangle(CRect(30,30,130,130));
	
	CView::OnRButtonDown(nFlags, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人狂配大交3d怪物一区| 久久精品噜噜噜成人av农村| 日本亚洲天堂网| 久久99久久久久久久久久久| av一区二区三区在线| 欧美特级限制片免费在线观看| 制服丝袜中文字幕一区| 国产日韩欧美一区二区三区乱码| 亚洲色图丝袜美腿| 蜜桃精品视频在线| av午夜一区麻豆| 日韩午夜av一区| 亚洲欧美日韩国产综合| 麻豆精品久久精品色综合| 9人人澡人人爽人人精品| 欧美日本在线观看| 中文字幕电影一区| 日韩国产精品91| 99国产精品久久久久| 91精品国产一区二区三区蜜臀| 国产精品麻豆欧美日韩ww| 日本在线观看不卡视频| 99国产精品久久久久久久久久久 | 亚洲午夜精品在线| 国产成人免费9x9x人网站视频| 欧美性大战xxxxx久久久| 日本一区二区免费在线| 日韩精品色哟哟| 99精品久久久久久| 久久影院视频免费| 五月天丁香久久| 91在线云播放| 久久久91精品国产一区二区精品| 天涯成人国产亚洲精品一区av| 成人伦理片在线| 久久综合九色欧美综合狠狠| 午夜久久久影院| 91久久一区二区| 国产精品福利在线播放| 国产精品66部| 日韩女优毛片在线| 日本视频一区二区三区| 日本道色综合久久| 亚洲视频一区二区在线观看| 国产电影一区二区三区| 精品毛片乱码1区2区3区| 日韩精品91亚洲二区在线观看| 97精品久久久久中文字幕| 国产亚洲一二三区| 精品无人码麻豆乱码1区2区 | 性欧美疯狂xxxxbbbb| 91丝袜呻吟高潮美腿白嫩在线观看| 精品日韩欧美在线| 日本亚洲天堂网| 91麻豆精品国产91久久久使用方法| 亚洲综合网站在线观看| 91麻豆国产在线观看| 国产欧美日韩精品一区| 国产福利一区在线| 久久综合丝袜日本网| 麻豆视频一区二区| 日韩欧美亚洲国产另类| 天天操天天干天天综合网| 欧美亚洲另类激情小说| 亚洲国产成人精品视频| 欧美色涩在线第一页| 亚洲一区二区三区中文字幕在线| 色婷婷精品久久二区二区蜜臂av| 亚洲视频狠狠干| 日本久久精品电影| 亚洲一区av在线| 欧美日韩在线观看一区二区| 亚洲va韩国va欧美va| 欧美日韩午夜影院| 日日嗨av一区二区三区四区| 欧美一卡二卡三卡| 蜜桃av一区二区三区电影| 精品欧美一区二区三区精品久久 | 26uuu久久天堂性欧美| 毛片不卡一区二区| 久久免费美女视频| 成人性视频网站| 最新国产精品久久精品| 色婷婷综合久久久久中文| 亚洲午夜av在线| 欧美一区二区三区免费在线看| 精品一区二区三区影院在线午夜| 国产亚洲1区2区3区| 成人国产亚洲欧美成人综合网| 亚洲四区在线观看| 欧美日韩一区二区三区免费看| 天天av天天翘天天综合网色鬼国产 | 精品国产凹凸成av人导航| 国产乱淫av一区二区三区| 国产精品三级久久久久三级| 91蜜桃网址入口| 香蕉av福利精品导航| 精品免费日韩av| 成人av在线一区二区| 亚洲成人第一页| 精品日韩在线观看| 99视频在线精品| 日韩电影一区二区三区| 国产日产欧产精品推荐色| 色综合亚洲欧洲| 日韩激情一二三区| 欧美激情中文不卡| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人高清视频在线观看| 一区二区三区高清在线| 日韩三级中文字幕| 成人精品一区二区三区四区| 亚洲综合一区二区三区| 精品国产免费一区二区三区四区| 成人福利在线看| 日韩成人一区二区三区在线观看| 国产三级欧美三级日产三级99| 色哟哟国产精品免费观看| 麻豆视频一区二区| 亚洲欧美韩国综合色| 日韩欧美一二三区| 色呦呦一区二区三区| 紧缚捆绑精品一区二区| 亚洲黄色在线视频| 精品剧情在线观看| 在线免费亚洲电影| 国产91露脸合集magnet| 性欧美疯狂xxxxbbbb| 中文字幕一区av| 精品入口麻豆88视频| 欧美性色aⅴ视频一区日韩精品| 国模一区二区三区白浆| 亚洲一级二级在线| 亚洲国产成人在线| 欧美一区三区二区| 91福利在线观看| 国产成人精品免费在线| 日韩中文字幕亚洲一区二区va在线 | 亚洲大片精品永久免费| 国产欧美日韩一区二区三区在线观看| 欧美日韩精品三区| 91伊人久久大香线蕉| 韩日欧美一区二区三区| 婷婷久久综合九色综合伊人色| 国产精品免费视频观看| 精品剧情在线观看| 7777精品伊人久久久大香线蕉| 99精品视频在线观看| 国产高清成人在线| 精品一区二区三区影院在线午夜| 亚洲成人先锋电影| 一区二区三区中文字幕在线观看| 亚洲国产精品成人综合色在线婷婷| 日韩免费高清av| 欧美一区二区成人6969| 欧美日韩视频专区在线播放| 日本道在线观看一区二区| 成人激情校园春色| 国产精品456露脸| 国内精品国产三级国产a久久| 日韩av网站免费在线| 亚洲一区免费观看| 亚洲精品一二三| 一区二区中文视频| 国产精品视频第一区| 久久久影视传媒| 欧美精品一区二区三区很污很色的 | 中国av一区二区三区| 久久久午夜精品| 久久亚洲欧美国产精品乐播| 精品国产一区久久| 精品久久久久久无| 久久一区二区视频| 26uuu成人网一区二区三区| 日韩精品综合一本久道在线视频| 91精品国产乱| 欧美一级日韩免费不卡| 91精品免费观看| 日韩精品一区二区三区swag| 日韩精品综合一本久道在线视频| 日韩免费观看高清完整版在线观看| 91精品国产综合久久福利| 91精品国产日韩91久久久久久| 在线播放日韩导航| 日韩欧美www| 久久亚洲综合av| 国产日韩三级在线| 国产精品久久久久久久午夜片 | 91国偷自产一区二区开放时间 | 婷婷综合久久一区二区三区| 亚洲aaa精品| 日韩成人免费电影| 欧美精品第1页| 欧美精品亚洲一区二区在线播放| 欧美日韩卡一卡二| 这里只有精品电影| 久久综合色8888| 国产精品视频观看| 亚洲精品国产a久久久久久| 亚洲永久精品大片|