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

引用:
如果中間內部有 藍色 那是否可形成 簍空的 表單的說 ?
沒錯

while((Image1->Canvas->Pixels[x][y]==clBlue)&&(x<=Image1->Width)){x++;} 這行是算出要隱藏的部份
startx=x; 算完後就記錄要顯示的部份開頭
x++;
while((Image1->Canvas->Pixels[x][y]!=clBlue)&&(x<=Image1->Width)){x++;} 開始讀取顯示的部份
endx=x; 紀錄顯示部分的結尾
if(rgn1==0) 若rgn1為零,表示第一次建
{
rgn1=CreateRectRgn(startx+1,y,endx,y+1);
}
else 表示已經建過了,就已rgn2來表示,再和rgn1做CombineRgn(rgn1,rgn1,rgn2,RGN_OR);
{
rgn2=CreateRectRgn(startx+1,y,endx,y+1);
if(rgn2!=0)
{
CombineRgn(rgn1,rgn1,rgn2,RGN_OR);
}
DeleteObject(rgn2);
}
魔術王子 目前離線  
送花文章: 1528, 收花文章: 1555 篇, 收花: 3894 次
回覆時引用此帖