ImageGadget und Speicherung der Grafik

Für allgemeine Fragen zur Programmierung mit PureBasic.
Armkrie
Beiträge: 17
Registriert: 30.12.2008 04:03

ImageGadget und Speicherung der Grafik

Beitrag von Armkrie »

Hallo Gemeinde,

ich habe hier ein kleines Demoprogramm geschrieben.

Es wird ein Bild erstellt und einem ImageGadget zugeweisen.
Danach wird dieses Bild gelöscht um das Erstellen eines neuen Bildes
mit der gleichen Nummerer zu ermöglichen.

Dieses Demoprogramm funktioniert ohne Probleme.
Das Programm welches ich schreiben möchte erzeugt aber wesentlich größere
Grafiken und der Zeitraum zwischen dem Anzeigen der Bilder ist auch länger.

Deshalb hier zu meiner Frage.

Weis jemand ob es über einem längeren Zeitraum Probleme mit einem ImageGadget gibt,
wenn die übergebene Grafik wieder gelöscht wird?

Speichert das ImageGadget eine Kopie der Grafik oder wird das Orginal noch für
irgend etwas benötigt?

Für nächere Informationen wäre ich sehr Dankbar.

Code: Alles auswählen

If OpenWindow(0, 100, 100, 500, 500, "Test")
  ImageGadget(0, 50, 50, 400, 400, 0)
EndIf

AddWindowTimer(0, 1000, 300)
Farbe = 0

Repeat
  EventID = WaitWindowEvent()

  If EventID = #PB_Event_Timer And EventTimer() = 1000
    CreateImage(0, 400, 400)

    Farbe + 10
    If Farbe > $FFFFFF : Farbe = 0 : EndIf

    If StartDrawing(ImageOutput(0))
      FillArea(0, 0, -1, Farbe)
      StopDrawing()
    EndIf

    SetGadgetState(0, ImageID(0))
    FreeImage(0)
  EndIf

Until EventID = #PB_Event_CloseWindow

RemoveWindowTimer(0, 1000)
End
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: ImageGadget und Speicherung der Grafik

Beitrag von STARGÅTE »

Ja, das ImageGadget (genauso wie zB MenuItems, Canvas, ListIcon, usw.) kopieren alle die übergebene Grafik in ihren eigenen Speicher/Struktur. Das Image welches du übergeben hast, kanst du also sofort wieder freigeben.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Armkrie
Beiträge: 17
Registriert: 30.12.2008 04:03

Re: ImageGadget und Speicherung der Grafik

Beitrag von Armkrie »

Danke für die schnelle Antwort.

Habe mir zwar schon so etwas gedacht, war mir aber nicht sicher.

Gruß Armkrie
Antworten