Image aus Imagegadget bearbeiten

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 659
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 nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Bisonte
Beiträge: 2427
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 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10621
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:
Hygge
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Image aus Imagegadget bearbeiten

Beitrag von Bisonte »

och manno :oops: :lol:
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
stevie1401
Beiträge: 659
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 nur noch mit Linux.
Linux Mint 21.x
Antworten