Entwickler-Ecke
Multimedia / Grafik - Füllmethode ala Paint (Prob m FloodFill)
reallyOne - Di 16.09.03 22:42
Titel: Füllmethode ala Paint (Prob m FloodFill)
Hallo Leute, ich bin gerade dabei ein Paint-Klon als ActiveX für einen bestimmten Dienst auf meiner HP am schreiben, jedoch hab ich Probleme mit dem Implementieren der Füllmethode.
Also: Wenn ich als FillStyle fsBorder benutze, wird mein ganzer Canvas weiß (sollte in Rot füllen)
und bei fsSurface passiert überhaupt nix.
Gibts da ne Alternative oder ne Idee?
Wäre sehr dankbar.
PS: Dieses Prob hatte ich auch mit FloodFill, bekomm ich jetzt aber seltsamer Weise nicht mehr. (hab nix am Code geändert):
Manchmal schmiert das ActiveX ab, sobald ich Floodfill benutze, ein paar sek vorher hats funktioniert, dann code wiederhergestellt und funzt immer noch nicht, aber ich denke, das hängt mit dem Registieren des ActiveX zusammen. Achja, wenn ich das FloodFill in try except einbinde gehts, aber bekomme auch keine exception.
Frase - Mi 24.09.03 18:00
Ah ja...
Floodfill...
Das ganze ist etwas komplex, aber es ist machbar:
Zuerst eine Farbe festlegen, mit der du etwas füllen willst:
canvas.brush.color := clred; //Zum Beispiel
Ich weiß nicht mehr, ob es brush.color oder pen.color war. Ausprobieren.
Canvas.floodfill(X,Y,COLOR,STYLE); //So, oder so ähnlich schaut die Procedur aus.
Die ersten 2 Parameter dürften klar sein. Sie stellen klar, wo der Farbeimer ansetzen soll.
Der nächste Parameter ist interesant.
Er ist NICHT die Farbe, mit der gefüllt werden soll, sondern (je nach STYLE) die Farbe, bei der mit dem Füllen aufgehört werden soll, oder die Farbe, bei der gefüllt werden soll.
Im Klartext heißt das folgendes:
Wir haben ein Viereck mit einem Blauen Rahmen (clblue). Im Viereck ist es Gelb (clyellow). Wir wollen jetzt das Gelb durch ein Rot ersetzen:
Delphi-Quelltext
1:
| canvas.floodfill(1,1,clblue,fsborder); |
Kapiert?
Viel Spaß mit floodfill,
Frase
reallyOne - Mi 24.09.03 19:39
jep danke, hat super geklappt.
Frase - Do 25.09.03 13:53
Gern geschehen.
Freut mich immer, wenn ich helfen kann.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!