Image aus Imagegadget bearbeiten

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 595
Registriert: 19.10.2014 15:51
Kontaktdaten:

Image aus Imagegadget bearbeiten

Beitrag von stevie1401 »

Ich habe ein Imagegadget und ein Image darin.
Nun möchte ich das darin befindliche Image wieder "herausholen" und bearbeiten.
ich habe es mit:

Code: Alles auswählen

 bild = GetGadgetState(#ImageGadget))
Laut Hilfe ist "bild" die ImageID des Images im Imagegadget, aber da bekomme ich nur Fehlermeldungen.

Wie komme ich an das Image heran?
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1
Benutzeravatar
Bisonte
Beiträge: 2381
Registriert: 01.04.2007 20:18

Re: Image aus Imagegadget bearbeiten

Beitrag von Bisonte »

Umständlich über SDK (sollte auf allen OS laufen)

Code: Alles auswählen

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
  Import ""
    PB_Object_EnumerateStart          (PB_Object)
    PB_Object_EnumerateNext           (PB_Object, ID)
    PB_Object_EnumerateAbort          (PB_Object)
    PB_Image_Objects
  EndImport
CompilerElse
  ImportC ""
    PB_Object_EnumerateStart          (PB_Object)
    PB_Object_EnumerateNext           (PB_Object, ID)
    PB_Object_EnumerateAbort          (PB_Object)
    PB_Image_Objects
  EndImport
CompilerEndIf
Procedure.i GetImageObject(ImageID)
  
  Protected Result = -1
  
  PB_Object_EnumerateStart(PB_Image_Objects)
  
  While PB_Object_EnumerateNext(PB_Image_Objects, @Result)
    If ImageID = ImageID(Result)
      PB_Object_EnumerateAbort(PB_Image_Objects)
      Break
    EndIf
  Wend    
  
  ProcedureReturn Result
  
EndProcedure

Bild = GetImageObject(GetGadgetState(#ImageGadget))
Man sollte beachten, das man KEIN Image mit " 0 " erstellt hat ;)

Oder aber man speichert den Wert vorher in einer Variablen....
Zuletzt geändert von Bisonte am 04.03.2020 10:26, insgesamt 1-mal geändert.
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​
Benutzeravatar
Kiffi
Beiträge: 10426
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Image aus Imagegadget bearbeiten

Beitrag von Kiffi »

@stevie1401:

Im Gegensatz zu PureBasic liefert GetGadgetState([ImageGadget()]) unter SpiderBasic nicht die ImageID, sondern ein HtmlElement vom Typ Canvas. Die SB-Hilfe müsste diesbezüglich mal aktualisiert werden.

Was willst Du mit dem Image denn genau machen?

Grüße ... Peter

@Bisonte: SpiderBasic :wink:
"tja" – a German reaction to the apocalypse, Dawn of the Gods, nuclear war, an alien attack or no bread in the house
Benutzeravatar
Bisonte
Beiträge: 2381
Registriert: 01.04.2007 20:18

Re: Image aus Imagegadget bearbeiten

Beitrag von Bisonte »

och manno :oops: :lol:
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​
stevie1401
Beiträge: 595
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Image aus Imagegadget bearbeiten

Beitrag von stevie1401 »

Wie ich schon schrieb, ich möchte es weiterbearbeiten. Bedeutet, ich möchte auf das Image etwas zeichnen.
Aber ich kann mir das Image auch einfach in einer Kopie "merken"und das dann bearbeiten.
Ich fand GetGadgetState([ImageGadget()]) einfach nur "eleganter".
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1
Antworten