Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

FBIMAGE in Base64-String?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 16.01.2012, 23:59    Titel: FBIMAGE in Base64-String? Antworten mit Zitat

Hallo zusammen!

Kleine Frage: Wie würdet ihr ein Freebasic-Image, welches mit IMAGECREATE erstellt wurde in einen Base64-String umwandeln?

Die Base64-Encoder auf die ich bisher gestoßen bin (ich kann ja auch googlen zwinkern ) können nur Strings in Base64-Strings umwandeln. Ich möchte das aber mit einem Pixel-Datenbereich im Arbeitsspeicher machen..

Wie würdet ihr das machen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 17.01.2012, 00:27    Titel: Antworten mit Zitat

Ein Image ist ein einfacher Block bestimmter Länge im Speicher. Ein String ist prinzipiell das gleiche. Du könntest einen String der gleichen Länge wie das Image erstellen und die Daten von einem Pointer zum anderen laden.

So in der Art mache ich das auch mit UDTs.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 17.01.2012, 09:10    Titel: Antworten mit Zitat

Ja, so in der Art habe ich das auch versucht, aber ich habe die Vermutung, dass der Base64-Encoder (http://www.freebasic.net/forum/viewtopic.php?p=148237) einen solchen String nicht korrekt umwandelt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.01.2012, 10:31    Titel: Antworten mit Zitat

kA ob das von der fb-syntax und dem zstring-handling her passt, aber...

Code:

Type bild
UNION
  bilddaten AS FBIMAGE
  bildstring AS ZSTRING * $längeVonFBImage
END UNION

End Type
Dann zeigen sowohl bilddaten als auch bildstring auf dieselbe Speicherstelle und man kann diese entweder als string oder als bildheader interpretieren.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 17.01.2012, 13:59    Titel: Antworten mit Zitat

aber ein zstring ist nullterminiert... nicht dass die kodierfunktion dann beim ersten \0 abbricht..?
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 17.01.2012, 14:23    Titel: Antworten mit Zitat

Die verlinkte Funktion erwartet einen FBString, womit Chr(0) nicht wichtig ist. Natürlich wird das Union (das übrigens auch ohne Type funktionieren würde, wenn man es nicht anonymisiert) so nicht funktionieren. Man muss den Imageptr-Inhalt explizit zuweisen. Dann sollte es aber im Grunde funktionieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 17.01.2012, 17:51    Titel: Antworten mit Zitat

Flo hat Folgendes geschrieben:
aber ein zstring ist nullterminiert... nicht dass die kodierfunktion dann beim ersten \0 abbricht..?

Das gilt nur für einen korrekt formatierten ZString. Wenn du "irgendwie" auf den Speicher des ZStrings zugreifst, ist im Allgemeinen nicht sichergestellt, dass der String in irgendeinerweise nullterminiert wird. Ist bei C ja auch nicht so, dass ein char-Array automatisch mit null terminiert wird.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz