FloodFill: Unterschied zwischen den Versionen
(8 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | {| | + | {{Infobox|Diese API-Funktion ist nur noch aus Kompatibilitätsgründen enthalten und sollte laut Empfehlung von Microsoft von neuen Programmen nicht mehr verwendet werden. Stattdessen wird [[ExtFloodFill]] empfohlen.|Jedoch funktioniert die Funktion auch in aktuellen Windows-Versionen noch einwandfrei.}} |
− | |||
− | |||
__NOTOC__ | __NOTOC__ | ||
− | Die Funktion [[FloodFill]] dient dazu, eine | + | Die Funktion [[FloodFill]] dient dazu, eine geschlossene Figur (Polygonzug) mit der aktuellen Füllfarbe, bzw. der gewählten Brush zu füllen. |
− | < | + | <syntaxhighlight lang="vb"> |
Private Declare Function FloodFill Lib "gdi32" ( _ | Private Declare Function FloodFill Lib "gdi32" ( _ | ||
ByVal hdc As Long, _ | ByVal hdc As Long, _ | ||
Zeile 13: | Zeile 11: | ||
ByVal crColor As Long _ | ByVal crColor As Long _ | ||
) As Long | ) As Long | ||
− | </ | + | </syntaxhighlight> |
==Parameter== | ==Parameter== | ||
''hdc'' | ''hdc'' | ||
− | :Erwartet | + | :Erwartet einen DC. Dies kann entweder ein bestehender DC sein, beispielsweise der einer Picturebox, oder per [[CreateCompatibleDC]] erstellt worden sein. |
''x'' | ''x'' | ||
Zeile 35: | Zeile 33: | ||
==Beispiel== | ==Beispiel== | ||
− | < | + | <syntaxhighlight lang="vb"> |
If FloodFill(Picture1.hdc, 100, 100, vbBlack) <> 0 Then | If FloodFill(Picture1.hdc, 100, 100, vbBlack) <> 0 Then | ||
Picture1.Refresh | Picture1.Refresh | ||
Zeile 41: | Zeile 39: | ||
Call MsgBox("Der angegebene Bereich konnte nicht gefüllt werden.", vbExclamation + vbOkOnly, "Fehler") | Call MsgBox("Der angegebene Bereich konnte nicht gefüllt werden.", vbExclamation + vbOkOnly, "Fehler") | ||
End if | End if | ||
− | </ | + | </syntaxhighlight> |
==Hinweise== | ==Hinweise== | ||
− | Die [[FloodFill]]-Funktion benötigt für die Füllung | + | Die [[FloodFill]]-Funktion benötigt für die Füllung eine sogenannte Brush. Diese muss vorher mittels CreateBrush erstellt worden sein. Bei Anwendung auf eine Picturebox oder Form, muss die Brush nicht mittels API-Methoden selbst erstellt werden. Es kann die im Control eingestellte Füllfarbe eingesetzt werden. |
== Verwandte Funktionen == | == Verwandte Funktionen == | ||
Zeile 52: | Zeile 50: | ||
[[CreatePen]] - Erstellt ein Penobjekt<br> | [[CreatePen]] - Erstellt ein Penobjekt<br> | ||
[[CreatePenIndirect]] - Erstellt ein Penobjekt indirekt<br> | [[CreatePenIndirect]] - Erstellt ein Penobjekt indirekt<br> | ||
+ | [[ExtFloodFill]] - Erweiterte Füllmethode<br> | ||
[[FillPath]] - Füllt ein Pfadobjekt<br> | [[FillPath]] - Füllt ein Pfadobjekt<br> | ||
[[FillRect]] - Füllt ein Rechteck<br> | [[FillRect]] - Füllt ein Rechteck<br> | ||
[[FillRgn]] - Füllt ein beispielsweise mittels [[CreateRectRgn]] erstelltes Region-Objekt.<br> | [[FillRgn]] - Füllt ein beispielsweise mittels [[CreateRectRgn]] erstelltes Region-Objekt.<br> | ||
+ | [[GetStockObject]] - Wählt ein vordefiniertes Objek, z.B. eine vordefinierten Brush zur Füllung aus. | ||
== Quellen == | == Quellen == | ||
Zeile 61: | Zeile 61: | ||
+ | [[Kategorie:Funktionen]] | ||
+ | [[Kategorie:GDI]] | ||
[[Kategorie:Grafik]] | [[Kategorie:Grafik]] | ||
− | [[Kategorie: | + | [[Kategorie:Pixelgrafik]] |
Aktuelle Version vom 7. Oktober 2016, 21:22 Uhr
![]() |
Diese API-Funktion ist nur noch aus Kompatibilitätsgründen enthalten und sollte laut Empfehlung von Microsoft von neuen Programmen nicht mehr verwendet werden. Stattdessen wird ExtFloodFill empfohlen. Jedoch funktioniert die Funktion auch in aktuellen Windows-Versionen noch einwandfrei. |
Die Funktion FloodFill dient dazu, eine geschlossene Figur (Polygonzug) mit der aktuellen Füllfarbe, bzw. der gewählten Brush zu füllen.
Private Declare Function FloodFill Lib "gdi32" ( _
ByVal hdc As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal crColor As Long _
) As Long
Parameter
hdc
- Erwartet einen DC. Dies kann entweder ein bestehender DC sein, beispielsweise der einer Picturebox, oder per CreateCompatibleDC erstellt worden sein.
x
- Die x-Koordinate, von welcher aus die Füllung beginnen soll.
y
- Die y-Koordinate, von welcher aus die Füllung beginnen soll.
crColor
- Erwartet einen Farbwert, der die farbliche Grenze für die Füllung angibt.
Rückgabe
Bei Erfolg wird ein Wert ungleich 0 zurückgegeben.
Beispiel
If FloodFill(Picture1.hdc, 100, 100, vbBlack) <> 0 Then
Picture1.Refresh
Else
Call MsgBox("Der angegebene Bereich konnte nicht gefüllt werden.", vbExclamation + vbOkOnly, "Fehler")
End if
Hinweise
Die FloodFill-Funktion benötigt für die Füllung eine sogenannte Brush. Diese muss vorher mittels CreateBrush erstellt worden sein. Bei Anwendung auf eine Picturebox oder Form, muss die Brush nicht mittels API-Methoden selbst erstellt werden. Es kann die im Control eingestellte Füllfarbe eingesetzt werden.
Verwandte Funktionen
CreateBrushIndirect - Erstellt ein Brushobjekt
CreatePen - Erstellt ein Penobjekt
CreatePenIndirect - Erstellt ein Penobjekt indirekt
ExtFloodFill - Erweiterte Füllmethode
FillPath - Füllt ein Pfadobjekt
FillRect - Füllt ein Rechteck
FillRgn - Füllt ein beispielsweise mittels CreateRectRgn erstelltes Region-Objekt.
GetStockObject - Wählt ein vordefiniertes Objek, z.B. eine vordefinierten Brush zur Füllung aus.