vectoroutput im Speicher sichern und laden

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
kartmanne
Beiträge: 108
Registriert: 19.03.2015 18:16
Wohnort: Altenstadt
Kontaktdaten:

vectoroutput im Speicher sichern und laden

Beitrag von kartmanne »

HI,

ich zeichne eine Menge Kurven auf ein canvasvectorgadget. Anschließend zeichne ich drüber ein Koordinatenlinienkreuz(KLK). Dieses KLK platziere ich neu, je nach den erkannten Maus-Koordinaten.
Verändere ich das KLK, muß ich jedes mal das canvas leeren und die Kurven erneut zeichnen. Das nimmt viel zeit - und das Canvas flackert natürlich beim initialen Fill, um den gesamten Inhalt zu leeren.

Um dieses zeitintensive Neuzeichnen der Kurven und das Flackern zu vermeiden, denke ich, kann man den canvasinhalt vor dem zeichnen des KLK an einen RAM-Speicherbereich kopieren und bei einer neuen Position des KLK vorher wieder zurückkopieren.

Bisher hab ich aus pb-Bordmitteln für so eine Aktion keinen Ablauf gefunden. Image-Befehle orientieren auf Disk, nicht auf RAM.

Könnt ihr mir einen Denkanstoß geben?

Frohe Ostern und Gesundheit
Benutzeravatar
mk-soft
Beiträge: 3701
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: vectoroutput im Speicher sichern und laden

Beitrag von mk-soft »

Die Kurven bei Änderung in einem Image zeichnen und mit
SetGadgetAttribute(1,#PB_Canvas_Image ,ImageID(Kurve)) vor dem rest zeichnen zuweisen.

P.S.
Bei maOS ist DrawVectorImage(ImageID(\Image)) minimal schneller.
Zuletzt geändert von mk-soft am 13.04.2020 11:46, insgesamt 1-mal geändert.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
kartmanne
Beiträge: 108
Registriert: 19.03.2015 18:16
Wohnort: Altenstadt
Kontaktdaten:

Re: vectoroutput im Speicher sichern und laden

Beitrag von kartmanne »

HI,

die Beschreibung ist für mich rookie zu knapp.
Grundsätzlich glaube ich zu wissen, wie.. aber ich bräuchte etwas mehr Info, bitte

wie: Kurven ... in einem Image zeichnen

Image vorher anlegen (?) oder aus dem gezeichneten (mit Kurven) canvas rauskopieren? wie? Hmmm.
Benutzeravatar
mk-soft
Beiträge: 3701
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: vectoroutput im Speicher sichern und laden

Beitrag von mk-soft »

Siehe GaugeGadget

Link: https://www.purebasic.fr/english/viewto ... 03#p549803

P.S.
Image Anlegen und bei Bedarf neu zeichnen.
Bei maOS ist DrawVectorImage(ImageID(\Image)) minimal schneller.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
kartmanne
Beiträge: 108
Registriert: 19.03.2015 18:16
Wohnort: Altenstadt
Kontaktdaten:

Re: vectoroutput im Speicher sichern und laden

Beitrag von kartmanne »

HI,

ok. Also ein "bemaltes" vectorcanvas als image sichern, geht nicht mit pb-Boardmitteln.

Danke.
Benutzeravatar
mk-soft
Beiträge: 3701
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: vectoroutput im Speicher sichern und laden

Beitrag von mk-soft »

Geht mit PB mittel...

Link: https://www.purebasic.fr/english/viewto ... 12&t=74560

Aber nicht ganz verstanden.

Den Hintergrund (Kurven) bei Bedarf in ein Images (CreateImage) zeichnen und dann vor dem zeichnen im Canvas mit
SetGadgetAttribute(1,#PB_Canvas_Image ,ImageID(Kurve) oder DrawVectorImage(ImageID(\Kurve)) setzen
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
HeX0R
Beiträge: 2961
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: vectoroutput im Speicher sichern und laden

Beitrag von HeX0R »

Was ist denn das Problem mit GrabDrawingImage()?
Antworten