引用:
如果中間內部有 藍色 那是否可形成 簍空的 表單的說 ?
|
沒錯
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);
}