Seite 1 von 1

ImageOutput(ImageID) - Wie Inhalt löschen?

Verfasst: 11.02.2018 20:01
von diceman
This:
Wenn ich in einen Image-Buffer zeichne - wie kann ich den Inhalt mit einer vorgegebenen Farbe löschen? Default-mäßig ist der ja immer schwarz. Aber Gesetz den Fall ich will's weiß haben, oder es wurde bereits drinnen gezeichnet und ich möchte den Inhalt wieder löschen? Im Prinzip suche ich sowas wie ClearScreen(), halt nur für den jeweiligen Image-Buffer. Oder muß ich da tatsächlich immer eine mit DrawingMode(#PB_2DDrawing_Default) erstellt Box in Image-Größe drübermalen? :?
ClearScreen(RGB(r,g,b)) funktioniert nur außerhalb von StartDrawing.
Danke!

Re: ImageOutput(ImageID) - Wie Inhalt löschen?

Verfasst: 11.02.2018 20:21
von Bisonte
Ich weiss zwar jetzt nicht was du mit "ImageBuffer" meinst....

Um in einem Bild etwas zu ändern, lösche ich es entweder komplett (mit Box), oder ändere nur die Stelle die geändert werden soll (die wird dann
aber auch erst mit Box überschrieben usw) oder ich lösche das Image und erstelle es neu. Je nachdem was gerade gebraucht wird und was schneller geht. Aber mit Box auf komplett Image ist man eigentlich immer am besten bedient.

Edit : Box(0, 0, OutPutWidth(), OutPutHeight(), Farbe) ist das ClearScreen der Images ;)

Re: ImageOutput(ImageID) - Wie Inhalt löschen?

Verfasst: 11.02.2018 20:35
von diceman
Okay danke!
Ja, mit den Basis-Grafik-Befehlen komme ich soweit klar. Fluppt allgemein schon ganz gut mit mir und PureBasic. :)
ImageBuffer() hieß das in Blitzbasic - also wennst nicht auf den Bildschirm zeichnest (ScreenOutput()), sondern in ein vorher geladenes oder erstelltes Bild.
Eine Box drüber packen war auch mein erster Gedanke, funtzt ja soweit auch.
Aber hin und wieder lohnt es sich nachzufragen, ob jemand einen tollen, weniger dokumentierten Trick kennt!

Re: ImageOutput(ImageID) - Wie Inhalt löschen?

Verfasst: 11.02.2018 22:19
von #NULL
CreateImage() hat auch noch den BackColor Parameter, funktionert aber nur mit RBG und nicht mit RGBA, weil er älter ist als die Alpha Unterstützung. Opaque White ($ffffffff) wird dabei als transparent behandelt. Also lieber gleich bei Box bleiben.