| |
|
|
|
Beschreibung:
UnionRect ermittelt die Eckpunkte zu einem „Rahmen“, der zwei rechteckige Bereiche einschließt.
Deklaration:
DEf @UnionRect(3) !User32,UnionRect
Parameter:
1.Parameter: RECT Struktur oder 16Byte große Bereichsvariable, die die Eckpunkte des „Rahmens“ um die Rechtecke aufnimmt.=> -Byte 0-3 = X-Koordinate der linken oberen Ecke des Rahmens. -Byte 4-7 = Y-Koordinate der linken oberen Ecke des Rahmens. -Byte 8-11 = X-Koordinate der rechten unteren Ecke des Rahmens. -Byte 12-15 = Y-Koordinate der rechten unteren Ecke des Rahmens. 2.Parameter: RECT Struktur oder 16Byte große Bereichsvariable, die die Eckpunkte des ersten Rechtecks angibt.=> -Byte 0-3 = X-Koordinate der linken oberen Ecke des Rechtecks. -Byte 4-7 = Y-Koordinate der linken oberen Ecke des Rechtecks. -Byte 8-11 = X-Koordinate der rechten unteren Ecke des Rechtecks. -Byte 12-15 = Y-Koordinate der rechten unteren Ecke des Rechtecks. 3.Parameter: RECT Struktur oder 16Byte große Bereichsvariable, die die Eckpunkte des zweiten Rechtecks angibt.=> -Byte 0-3 = X-Koordinate der linken oberen Ecke des Rechtecks. -Byte 4-7 = Y-Koordinate der linken oberen Ecke des Rechtecks. -Byte 8-11 = X-Koordinate der rechten unteren Ecke des Rechtecks. - Byte 12-15 = Y-Koordinate der rechten unteren Ecke des Rechtecks.
Rückgabewert:
Wenn ein Rahmen berechnet werden konnte 1, ansonsten 0.
Beispiele:
KompilierenMarkierenSeparierenDeclare Bild$,Ende%,Rect1#,Rect2#,RectU#
Declare x1&,y1&,x2&,y2&
DEf @UnionRect(3) !"User32","UnionRect"
CHDIR $WINPATH
Let Bild$=@FindFirst$("*.BMP")
Windowstyle 31
Windowtitle "Bereiche Vereinigen"
Window 0,0-640,440
While 0=0
CLS
Randomize
LET X1&=@RND(600)
LET X2&=@RND(600)
LET y1&=@RND(400)
LET y2&=@RND(400)
LoadSizedBmp Bild$, x1&,y1&-30,30;0
LoadSizedBmp Bild$, x2&,y2&-30,30;0
Dim Rect1#,16
Dim Rect2#,16
Dim RectU#,16
Long Rect1#,0=X1&
Long Rect1#,4=Y1&
Long Rect1#,8=X1&+30
Long Rect1#,12=y1&+30
Long Rect2#,0=X2&
Long Rect2#,4=Y2&
Long Rect2#,8=X2&+30
Long Rect2#,12=Y2&+30
@UnionRect(RectU#,Rect1#,Rect2#)
UseBrush 0,0
USEPEN 0,1,@RGB(32,0,0)
RectAngle @long(Rectu#,0),@long(Rectu#,4)-@long(Rectu#,8),@long(Rectu#,12)
Dispose Rect1#
Dispose Rect2#
Dispose RectU#
Waitinput
wend
[keywords:e92370f133] Rahmen Bereiche umrahmen ermitteln kombinieren einpassen Rechtecke [/keywords:e92370f133] |
|
|
| |
|
|