查看單個文章
舊 2005-06-21, 02:01 PM   #3 (permalink)
魔術王子
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:1991小時 | 升級還需:30小時級別:42 | 在線時長:1991小時 | 升級還需:30小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 2974
精華: 0
現金: 14895 金幣
資產: 2678525 金幣
預設

引用:
方法看似以 像素做點的掃瞄,初期好像很費時的說
應該還好啦
利用3個API函數
CreateRectRgn建立方形區塊

CombineRgn組合區塊

SetWindowRgn將區域設給視窗

他是的確一行一行掃描若不是隱藏顏色,就將他們建成一行區塊(CreateRectRgn)
等到遇到隱藏顏色或該行結束時,就將他和之前的區域結合(CombineRgn)成一個大區域
才進行下一組或下一行

等全部都掃描完後再將視窗是成本區域(SetWindowRgn)

while((Image1->Canvas->Pixels[x][y]==clBlue)&&(x<=Image1->Width)){x++;}

while((Image1->Canvas->Pixels[x][y]!=clBlue)&&(x<=Image1->Width)){x++;}

顏色在這2行設定(小王子比較喜歡藍色,記住圖中不能有藍色喔,不然會一起隱藏)
魔術王子 目前離線  
送花文章: 1528, 收花文章: 1555 篇, 收花: 3894 次
回覆時引用此帖