AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder sinnvoll in XML speichern

Ein Thema von CalganX · begonnen am 30. Aug 2005 · letzter Beitrag vom 30. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 16:19
Hi,
ich würde gerne Bilder in einer XML-Datei speichern und zwar so, dass sie unter C# problemlos geladen und geschrieben werden können.
Hat da jemand eine gute Idee, wie man das sinnvoll anstellen könnte?

Chris
  Mit Zitat antworten Zitat
Grendel
(Gast)

n/a Beiträge
 
#2

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 16:22
Du könntest z.B. die Bilder hexadezimal oder Base64 encodiert ins xml einfügen und nach dem Auslesen wieder in Binärdaten umwandeln.

Bis neulich ...
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 16:33
Hi,
Zitat von Grendel:
Du könntest z.B. die Bilder hexadezimal oder Base64 encodiert ins xml einfügen und nach dem Auslesen wieder in Binärdaten umwandeln.
ich schätze dann aber mal, dass die XML-Datei unermesslich groß wird, da ja wiederrum jede Darstellung erneut 8bit pro Zeichen benötigt und dadurch das ganze ja acht mal größer werden sollte, als die Ausgangsdatei, oder?

Chris
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#4

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 16:38
Schau dir mal Base64 an. Kenne ich nicht wirklich, aber nach Überfliegen des Wikipedia-Artikels stelle ich fest dass man für 6 Bit (= 0,75 Byte) ein Zeichen braucht - es geht also nicht besonders viel Speicherplatz drauf.

Würde mich aber interessieren ob man es irgendwie anstellen kann das gar kein Platz verloren geht obwohl XML verwendet wird.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 16:50
Zitat von Tubos:
Würde mich aber interessieren ob man es irgendwie anstellen kann das gar kein Platz verloren geht obwohl XML verwendet wird.
Da XML so einfach keine Binärdaten zulässt (da reservierte Ausdrücke für die Strukturierung existieren, die eine Binärdatei "zufällig" produzieren könnte), geht es an sich nicht ohne Konvertierung nach Base64. Um aber Platz zu sparen könnte man sich (vorm Base64) einer Kompression bedienen. RLE, Huffman oder LZW-Typen sind mal ein paar die Verlustfrei arbeiten, wobei RLE eher geringe Kompression verspricht (ja nach Bildinhalt), dafür aber recht simpel ist vergl. zu den anderen beiden.
Falls Verluste nicht das Problem sind: JPEG in Base64 und das ins XML (Oder PNG/GIF für verlustfrei - da spart man sich das Selbstschreiben eines Kompressors.)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 17:14
Das XPM File Format, das unter Linux gebraeuchlich ist, koennte das geeignetste sein.
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 17:37
Zitat von dizzy:
wobei RLE eher geringe Kompression verspricht (ja nach Bildinhalt), dafür aber recht simpel ist vergl. zu den anderen beiden.
In der Codelib gibts den in Pascal umgesetzten Huffman Algo.

Und sonst: Huffman,
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#8

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 17:43
Hi,

was hälst du davon, nur den Dateipfad des Bildes in die XML-Datei zu schreiben?
Oder ist dir das zu unprofessionell?
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 19:03
Hi,
danke für die Ideen. Ich werde sie mir noch genauer ansehen, wenn ich mal wieder etwas Zeit habe.

@bigg: Das Problem ist, dass ich eigentlich alles in einer Datei haben möchte und nicht alles herumfliegen lassen will. Sonst kommt ein User auf die Idee einfach mal die Bilddateien zu löschen oder sowas. Alles in der XML-Datei ist einfach... praktischer.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#10

Re: Bilder sinnvoll in XML speichern

  Alt 30. Aug 2005, 19:49
Moin, moin,

Bin der Auffassung, das XML das Format der Wahl für den Dateiaustausch zwischen sonst inkompatiblen Systemen ist.
Damit ist die Dateigröße kein wirkliches Argument. Zumindest nicht für den Anfang eines solchen Projektes.
Wenn das ein Argument wäre, dann würde man die gepackten Bildformate nehmen.

Da die die Standartschrift für Kommandos reserviert ist und hier kein Parser ducheinander kommen soll,
würde ich das zunächst mal ganz trivial anfangen:

1: in XML setze Bildangangstoken <Picture>
2: Speicher das Bild in einen Stream
3: greife byteweise jedes Bildbyte aus dem Stream
4: Teile das Bildbyte in zwei xml-Bytes.
Dabei könnten die unteren vier Bits
jeweils komplett gesetzt werden und
auf die zwei oberen vier Bitbereiche
teilst Du das Bildbyte auf.
5: setze Bildendtoken </Picture>


Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz