Base64Decoder für Spider?

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

Re: Base64Decoder für Spider?

Beitrag 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.
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
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Base64Decoder für Spider?

Beitrag von ccode_new »

Hast du einen gültigen Base64 String übergeben?
Welche Dateiendung hat dein encodiertes Bild? (Beachten!)
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
stevie1401
Beiträge: 614
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Base64Decoder für Spider?

Beitrag 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.
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
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Base64Decoder für Spider?

Beitrag 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
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
stevie1401
Beiträge: 614
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Base64Decoder für Spider?

Beitrag 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! :)
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
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Base64Decoder für Spider?

Beitrag 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.
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
stevie1401
Beiträge: 614
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Base64Decoder für Spider?

Beitrag 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.
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
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Base64Decoder für Spider?

Beitrag 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.
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
Antworten