Fläche füllen
-
Hallo!
Kann mir einer sagen, wo das gute alte FloodFill geblieben ist?
Da ich mal davon ausgehe, dass ich nicht zu blöd zum suchen bin (Net 1.1),
wollte ich die WinApi-Funktion direkt aufrufen. Das klappt
zwar, aber ein 'SelectObject' kriege ich mit c# nicht hin.Also, weiss jemand, wie man eine beliebige Fläche füllen kann.
Vielen Dank für jeden Ratschlag im voraus.
Jockel
-
Versuche es mal mit FillRectangle()
-
Ähmm Danke, das hat aber nicht viel mit meiner Frage zu tun.
Also, ich will (so wie es FloodFill macht) eine beliebige Fläche
füllen, die durch eine andere, oder die eigene Farbe begrenzt ist.Jockel
-
Ooops - kleiner Fehler meinerseits!
Für Floodfill hast du in C# meines Wissens nach 2 Möglichkeiten:
1.[DllImport("gdi32")] public static extern int FloodFill(int hDC, int x, int y, int crColor)
2. Du programmierst es selbst
-
Hi tommazzo!
Keiner versteht mich *heul*.
Mal unabhängig vom Vorschlag selbst programmieren:
Dein 1. hab ich ja wie gesagt versucht (das meinte ich mit direkt aufrufen)
nur klappt das insofern nicht, da ich nicht weiss, wie man unter c#
einen Brush für einen DC auswählt. Also ich muss auch SelectObject
importieren, weiss aber nicht, wie ich das HBRUSH übergeben soll.
(HBRUSH will/kann ich nicht verwenden).Jockel
-
Schau mal hier, vielleicht hilft es.
-
Aha,
nach dem Beispiel in Noodles Link, kann man einen HBRUSH doch
direkt nutzen. Ich werde es zuhause mal ausprobieren.
Finde ich aber trotzdem schwach vom GDI+, dass FloodFill nicht
übernommen wurde.Vielen Dank euch beiden.
Jockel