在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

在VB6.0中完成大面積不規則區域的填充

在VB6.0中完成大面積不規則區域的填充

更新時間:2021-11-16 文章作者:未知 信息來源:網絡 閱讀次數:

一、引言
區域填充是指先將區域內的一個像素 ,一般稱為種子點賦予給定的顏色和輝亮,然后將該顏色擴展到整個區域內的過程。
二、已有的填充算法及缺點
1.掃描線法
掃描線法可以實現已知多邊形域邊界的填充,多邊形域可以是凹的、凸的、還可以是帶孔的。該填充方法是按掃描線的順序,計算掃描線與待填充區域的相交區間,再用要求的顏色顯示這些區間的像素,即完成填充工作。這里區間的端點通過計算掃描線與多邊形邊界線的交點獲得。所以待填充區域的邊界線必須事先知道,因此它的缺點是無法實現對未知邊界的區域填充。
2.邊填充算法
邊填充的基本思想是:對于每一條掃描線和每條多邊形邊的交點,將該掃描線上交點右方的所有像素取補。對多邊形的每條邊作些處理,多邊形的順序隨意。該算法適用于具有幀緩沖器的圖形系統,按任意順序處理多邊形的邊。處理每條邊時,僅訪問與該邊有交的掃描線上交點右方的像素。所有的邊都被處理之后,按掃描線順序讀出幀緩沖器的內容,送入顯示設備。該算法的優點是簡單,缺點是對于復雜圖形,每一像素可能被訪問多次,重要的是必須事先知道待填充多邊形的邊界,所以在填充未知邊界的區域時不適用。
3.遞歸算法
遞歸算法的優點是編程實現時,語言簡潔。但在VB6.0實際編程實現時,這種遞歸算法填充稍稍大一些的圖形就會出現堆棧溢出現象,據我們的實踐證明,遞歸算法只能連續遞歸深度在2090次左右,也就是說,如果待填充的圖形大于二千多個像素那么堆棧溢出。下面給出八連通填充方法的VB程序實現(四連通算法同理)。
Public Sub area(p, q As Integer)
If ((imagepixels(0, p, q) = red1) And (imagepixels(1, p, q) = green1) And (imagepixels(2, p, q) = blue1)) Then
imagepixels(0, p, q) = 0: imagepixels(2, p, q) = 0: imagepixels(1, p, q) = 0
Picture1.PSet (p, q), RGB(0, 0, 0)
Call area(p + 1, q): Call area(p, q + 1)
Call area(p - 1, q): Call area(p, q - 1)
Call area(p + 1, q + 1): Call area(p + 1, q - 1)
Call area(p - 1, q + 1): Call area(p - 1, q - 1)
Else: Exit Sub
End If
End Sub
三、 算法的基本思想
本算法采用兩個隊列(FIFO)filled和unfilled來實現區域填充。設計步驟如下:
1. 找出該區域內部任意一點,作為填充種子。
2. 填充該點,并把該點存入隊列filled。
3. 按逆時針,判斷該點的上、右、下、左鄰像素是否在filled隊列內。如果在filled,說明該相鄰點已填充,若不在filled隊列內,則判斷該相鄰點在未填充隊列unfilled,如果不在則將該相鄰點存入unfilled。
4. 判斷未填充隊列是否為空,若不空,則從隊列unfilled中取出頭元素,轉向第三步。若為空則表示已完成所有像素填充,結束程序。
四、 程序實現及說明
本算法定義的隊列突破了遞歸算法中受堆?臻g大小的限制的束縛,因為它直接占用內存空間,與堆棧大小無關。以下源程序在Window 2000環境下用VB6.0編程實現。
建立如圖所示標準窗體并畫上控件-2個CommandButton控件和一個PictureBox控件,調整大小,并設置控件的屬性。
4.1 通用聲明
Dim Xx As Integer, Yy As Integer
Dim Array1(9000, 2), Array2(9000, 2) As Integer
4.2 采集
Private Sub Command1_Click()
Picture1.MousePointer = 2
End Sub
4.3 選取種子
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Xx = X '選擇并記錄種子點的位置
Yy = Y
End Sub
4.4 區域填充
Private Sub Command2_Click()
Dim i, j, k As Integer, BoundPoint1, BoundPoint2 As Integer
Dim Flag As Boolean, Pixel As Long
Dim Red, Green, Blue As Integer, Bound As Boolean
Flag = True '初始化
i = Xx: j = Yy: BoundPoint1 = 1
Array1(1, 1) = i
Array1(1, 2) = j
'搜索邊界點
Do While BoundPoint1 > 0
BoundPoint2 = 0
For k = 1 To BoundPoint1
i = Array1(k, 1)
j = Array1(k, 2)
'搜索右點
Pixel& = Picture1.Point(i, j + 1)
Call IsBound(Pixel&, Bound)
If Not Bound Then
BoundPoint2 = BoundPoint2 + 1
Array2(BoundPoint2, 1) = i
Array2(BoundPoint2, 2) = j + 1
Picture1.PSet (i, j + 1), RGB(255, 255, 255)
End If
'搜索左鄰點
Pixel& = Picture1.Point(i, j - 1)
Call IsBound(Pixel&, Bound)
If Not Bound Then
BoundPoint2 = BoundPoint2 + 1
Array2(BoundPoint2, 1) = i
Array2(BoundPoint2, 2) = j - 1
Picture1.PSet (i, j - 1), RGB(255, 255, 255)
End If
'搜索上鄰點
Pixel& = Picture1.Point(i - 1, j)
Call IsBound(Pixel&, Bound)
If Not Bound Then
BoundPoint2 = BoundPoint2 + 1
Array2(BoundPoint2, 1) = i - 1
Array2(BoundPoint2, 2) = j
Picture1.PSet (i - 1, j), RGB(255, 255, 255)
End If
'搜索下鄰點
Pixel& = Picture1.Point(i + 1, j)
Call IsBound(Pixel&, Bound)
If Not Bound Then
BoundPoint2 = BoundPoint2 + 1
Array2(BoundPoint2, 1) = i + 1
Array2(BoundPoint2, 2) = j
Picture1.PSet (i + 1, j), RGB(255, 255, 255)
End If
Next k
'數組array2 中的數據傳給array1
BoundPoint1 = BoundPoint2
For k = 1 To BoundPoint1
Array1(k, 1) = Array2(k, 1)
Array1(k, 2) = Array2(k, 2)
Next k
Picture1.Refresh
Loop
End Sub
Public Sub IsBound(P As Long, Bound As Boolean) '判斷P是否為邊界點
Red = P& Mod 256
Bound = False
Green = ((P& And &HFF00) / 256&) Mod 256&
Blue = (P& And &HFF0000) / 65536
If Red = 255 And Green = 255 And Blue = 255 Then
Bound = True
End If
End Sub
五、 結束語
本算法實現了在對填充區域的形狀、大小均未知的情況下,以種子點開始向四周對該區域進行“擴散式”的填充。本算法解決了傳統的遞歸算法在填充較大區域時(本例中填充區約9800Pixels)堆棧溢出的缺點。我們的實驗結果顯示,本算法就填充區域大小和運算速度而言,都遠遠超過了傳統的遞歸算法。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 成人亚洲免费视频| 永久免费看av| 亚洲熟妇国产熟妇肥婆| 中文字幕1234区| 日本高清久久久| 男人的天堂最新网址| 日本成人黄色网| 亚洲色图久久久| 亚洲 激情 在线| 色噜噜狠狠一区二区| 91视频这里只有精品| 性生活免费在线观看| 不卡的在线视频| 国产农村妇女精品久久| 91制片厂免费观看| 成年在线观看视频| 丝袜人妻一区二区三区| 免费在线观看的av网站| av动漫免费看| 日本高清久久久| www.69av| 日av中文字幕| 欧美午夜精品理论片| 黄色录像特级片| 精品人妻少妇一区二区| 青青在线视频免费| 91免费视频污| 日韩中字在线观看| 男人插女人下面免费视频| 亚洲天堂av一区二区| 可以看毛片的网址| 不卡影院一区二区| 波多野结衣激情| 日韩精品视频久久| 免费观看黄色大片| 国产男女无遮挡| 好色先生视频污| 日本一极黄色片| 免费看日b视频| 男女视频在线看| 蜜臀av无码一区二区三区| 中日韩av在线播放| av免费观看大全| 黄色www在线观看| 成人羞羞国产免费网站| www.黄色网址.com| 91av在线免费播放| www.九色.com| 日本网站在线看| 一级黄色香蕉视频| 97国产在线播放| 波多野结衣三级在线| www.com操| 18岁网站在线观看| 免费在线看黄色片| 亚洲免费成人在线视频| 看欧美ab黄色大片视频免费| 国产主播自拍av| 无码日本精品xxxxxxxxx| 久热精品在线播放| 99免费视频观看| 无码人妻丰满熟妇区96| 丰满少妇大力进入| 黄色一级视频播放| 国产又粗又爽又黄的视频| 亚洲欧美国产中文| 色国产在线视频| 欧美成人福利在线观看| xxx国产在线观看| 久久人人爽av| 久久久久国产一区| av五月天在线| 中文字幕 91| 日韩高清第一页| 国产又黄又爽免费视频| 日韩欧美色视频| 神马午夜伦理影院| 日本福利视频网站| 久久久亚洲国产精品| 92看片淫黄大片一级| 国产成人精品视频ⅴa片软件竹菊| 日本精品一区二区三区四区 | 国产精品入口芒果| 久色视频在线播放| 日本精品一区二区三区四区| 爆乳熟妇一区二区三区霸乳| 中文字幕成人免费视频| 日韩精品一区二区三区电影| 婷婷视频在线播放| 欧美综合在线播放| 黄色在线视频网| 黄色一级片国产| 国产福利一区视频| 国产成人三级视频| 国产亚洲天堂网| 色男人天堂av| 成年人午夜视频在线观看 | 国产wwwxx| 小泽玛利亚av在线| 欧美精品第三页| 午夜啪啪福利视频| 国产免费999| 免费网站在线观看视频| 日韩欧美国产片| 搞av.com| 樱空桃在线播放| 欧美精品无码一区二区三区| avove在线观看| 青青草av网站| 国产精品成人久久电影| 天美一区二区三区| 免费在线观看日韩视频| 91传媒免费视频| 国产一二三区av| 成人小视频在线看| 亚洲理论电影在线观看| 天天干天天操天天干天天操| 欧美激情国产精品日韩| 精品成在人线av无码免费看| 91福利免费观看| 天天爱天天操天天干| 精品99在线视频| 秋霞无码一区二区| 免费极品av一视觉盛宴| 亚洲在线观看网站| 国产免费又粗又猛又爽| 免费黄色特级片| 欧美一级视频免费看| 国产日韩亚洲欧美在线| 樱花草www在线| 亚洲黄色片免费看| 欧美一级xxxx| 日韩av影视大全| 久久久久久久久久一区二区| 少妇性l交大片| 日韩欧美精品在线观看视频| 成年网站在线免费观看| 欧美两根一起进3p做受视频| 黄色片视频在线播放| 北条麻妃av高潮尖叫在线观看| 国产成人a亚洲精v品无码| 99热成人精品热久久66| 国产一区亚洲二区三区| 无码内射中文字幕岛国片| 国产日韩成人内射视频| 亚洲精品自拍网| 黄色一级片免费播放| 日韩一级特黄毛片| 免费国产黄色网址| 国产欧美高清在线| 亚洲国产日韩欧美在线观看| 北条麻妃亚洲一区| 九一免费在线观看| 日韩精品xxxx| 国产一伦一伦一伦| gogogo免费高清日本写真| 亚洲精品蜜桃久久久久久| 日韩国产欧美亚洲| 99sesese| 真人抽搐一进一出视频| 国产一级做a爰片久久| 成人黄色片免费| 99久久激情视频| 男人的天堂视频在线| 无码人妻h动漫| 国产91av视频在线观看| 日韩欧美不卡在线| 亚洲综合伊人久久| 男女高潮又爽又黄又无遮挡| www.污污视频| 狠狠爱免费视频| 精品一区二区成人免费视频| 成人免费视频91| 亚洲一区二区福利视频| 日韩人妻精品无码一区二区三区| 日韩av片免费观看| 日韩中文字幕免费在线| www.夜夜爱| 三日本三级少妇三级99| 黑人糟蹋人妻hd中文字幕 | 亚洲自偷自拍熟女另类| 婷婷视频在线播放| 性欧美极品xxxx欧美一区二区| 免费的一级黄色片| www.久久久久久久久久久| 能看的毛片网站| 欧美在线观看www| 久操手机在线视频| 国产大尺度在线观看| 亚洲精品手机在线观看| 欧美 日韩精品| 亚洲熟妇无码另类久久久| 国产精品视频二| 国内外成人激情免费视频| 天天看片天天操| 人人干人人干人人| 污视频免费在线观看网站| 搡女人真爽免费午夜网站| 99视频在线免费| 成人免费视频久久|