Seite 2 von 2

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 12:18
von stevie1401
Habe ich.
Funktioniert nicht.
Aber gebe doch einfach ein einfach zu verstehendes funktionierendes Beispiel. Dann muss der geneigte Leser nicht stundenlang tüfteln.

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 12:56
von ccode_new
Hast du einen gültigen Base64 String übergeben?
Welche Dateiendung hat dein encodiertes Bild? (Beachten!)

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 13:23
von stevie1401
Ich habe es mit jpg und png probiert. Der String ist ok, da er mit CatchimageEX() funktioniert.
Wie gesagt, wir können auch gerne noch 100x weiter raten, aber du kannst auch einfach ein funktionierendes Beispiel prosten, dann wäre der Drop gelutscht.

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 14:09
von ccode_new

Code: Alles auswählen

Global pic.s, letztesBild.i
Global NewList bildchen()

pic="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"

Procedure Loaded(Type, Filename$, ObjectId)
  AddElement(bildchen())
  bildchen() = ObjectId
  !alert("Alles ok!");
EndProcedure
; 
Procedure LoadingError(Type, Filename$, ObjectId)
  !alert("Dein Bild kann nicht geladen werden.");
EndProcedure

OpenWindow(0, 10, 10, 300, 300, "Image", #PB_Window_SizeGadget)
ImageGadget(0, 0, 0, 300, 300, 0)
;Du >>musst<< die Ressourcen über einen Callback laden!!!
BindEvent(#PB_Event_Loading, @Loaded())
BindEvent(#PB_Event_LoadingError, @LoadingError())

LoadImage(0, "data:image/png;base64,"+pic)

letztesBild = LastElement(bildchen())

If IsImage(letztesBild)
  SetGadgetState(0, letztesBild)
EndIf

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 16:04
von stevie1401
Ach Gott... :roll:

;Du >>musst<< die Ressourcen über einen Callback laden!!!

Ja, sorry, nun ist der Groschen gefallen.

Ich kann natürlich nach loadimage() nicht gleich weitermachen.
Ich muss natürlich in der Procedure, die mir sagt dass das Bild geladen wurde, weitermachen.

Dieses Beispiel hat es mir GUT veranschaulicht.
Besten Dank dafür! :)

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 16:55
von ccode_new
Ja mein Beispiel ist so fehlerhaft das es sehr gut zeigt wie man es nicht machen sollte.

Du erhältst nur kurzzeitig ein temporäres Bild über LoadImage(..) und das Handle ist nur im aktuellen Load-Callback gültig.
Um es weiter zu verwenden kannst du es z.B. mit CreateImage sichern.

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 17:24
von stevie1401
Ja, das war mir schon klar.
Bei mir klemmte es bei dem Gedanken, dass ich erst einmal abwarten muss, dass das Bild geladen ist, um es dann benutzen zu können.

Re: Base64Decoder für Spider?

Verfasst: 04.04.2021 18:19
von ccode_new
stevie1401 hat geschrieben:Bei mir klemmte es bei dem Gedanken, dass ich erst einmal abwarten muss, dass das Bild geladen ist, um es dann benutzen zu können.
Das kann ich sehr gut nachvollziehen.