AGB  ·  Datenschutz  ·  Impressum  







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

Bild aus XML auslesen. Wie?

Ein Thema von matashen · begonnen am 31. Mär 2014 · letzter Beitrag vom 5. Nov 2015
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Bild aus XML auslesen. Wie?

  Alt 31. Mär 2014, 12:54
Versuch einfach mal nur Image1.Picture.LoadFromFile
Musst dann ggf. "jpeg" bzw. "PNGImage" einbinden

Edit: Hat Image1.Picture nicht auch ein LoadFromStream? Dann müsstest du das Bild auch direkt aus dem dekodierten Stream laden können.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (31. Mär 2014 um 12:57 Uhr)
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
463 Beiträge
 
Delphi XE2 Enterprise
 
#2

AW: Bild aus XML auslesen. Wie?

  Alt 31. Mär 2014, 13:28
ich will ja nicht loadfromfile, sondern loadfromstream, und das gibts bei Picture nicht sondern nur im graphic-Adapter

Inziwschen bin ich der festen Überzeugung das es sich um JPEG handelt die hier ins XML eingebunden wurden. Zumindest wenn ich den Stream Speichere und wieder lade dann ist jpg die einzige Dateiversion wo delphi nicht meckert das der Header fehlerhaft ist. der Windows-Explorer zeigt aber alles tadellos an. Evtl wertet der den Header an sich aus und nicht anhand der Dateiendung... egal.

Problem ist noch das ich das Bild nicht direkt vom Stream in mein Image bekomme

Delphi-Quellcode:
Jpeg := TJPEGImage.Create;
Jpeg.LoadFromStream(binstream);
image1.Picture.bitmap.Assign(jpeg);
geht auch nicht. Bekomm ich einen JPEG-Fehler#42

Das einzige was geht ist als temporäre Datei abspeichern und wieder laden mit image1.picture.loadfromfile() - aber das ist ja totaler blödsinn wenn ich das schon im stream habe...
anererseits ists mir langsam schnuppe hauptsache das Ding läuft. Nachdem ich nicht weis wies die Software ablegt bin ich froh das überhaupt wieder als Bild zu bekommen. Evtl komm ich ja im laufe der Zeit noch dahinter.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bild aus XML auslesen. Wie?

  Alt 31. Mär 2014, 14:03
IMHO erkennt TWICImage bei LoadFromStream das Format.
Delphi-Quellcode:
procedure Test;
var
  AImage: TWICImage;
  ABitMap: TBitmap;
begin
  AImage := TWICImage.Create;
  ABitMap := TBitmap.Create;
  try
    AImage.LoadFromStream(AStream);
    // Weiter entsprechend AImage.ImageFormat
    // oder in eine Bitmap...
    ABitMap.Assign(AImage);
  finally
    ABitMap.Free;
    AImage.Free;
  end;
end;
Bab es grad mal mit PNG ausprobiert:

Delphi-Quellcode:
procedure TForm11.Button1Click(Sender: TObject);
Var
  AStream: TMemoryStream;
begin
  AStream := TMemoryStream.Create;
  try
    AStream.LoadFromFile('r:\warning.png');
    ShowImageFromStream(AStream);
  finally
    AStream.Free;
  end;
end;

procedure TForm11.ShowImageFromStream(AStream: TStream);
Var
  AImage: TWICImage;
begin
  AImage := TWICImage.Create;
  try
    AImage.LoadFromStream(AStream);
    Image1.Picture.Assign(AImage);
  finally
    AImage.Free;
  end;
end;

Frank
Frank Reim

Geändert von dataspider (31. Mär 2014 um 14:15 Uhr)
  Mit Zitat antworten Zitat
hsdkit111

Registriert seit: 12. Aug 2009
11 Beiträge
 
#4

AW: Bild aus XML auslesen. Wie?

  Alt 3. Nov 2015, 17:47
Hallo Matthias
Ich schreibe jetzt auch auf diesen Account!

Ich bekomme es nicht hin, das Bild aus der XML darzustellen, das Bild wir ca. 1/3 korrekt dargestellt, dann aber kommt das Bild verzerrt.
Hast Du mittlerweile eine Lösung gefunden?
Würde mich sehr interessieren, wäre auch bereit, Dir eine Aufwandenstschädigung zukommen zu lassen.

Ich würde Dir gerne eine entsprechende XML Datei zukommen lassen, allerdings ist Selbige > 100KB und somit nicht anzuhängen.

Wäre schön, wenn Du dich melden würdest, DANKE!

Danke und lieben Gruss aus der Schweiz
Hermann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Bild aus XML auslesen. Wie?

  Alt 3. Nov 2015, 18:03
Nur mal zum Testen: dekodier das base64 codierte Bild in einen Stream und speichere ihn ab. Du musst natürlich wissen um welches Dateiformat es sich handelt: BMP, JPEG, Gif, ... Kommt dann alles so an, wie gewünscht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
delnu
(Gast)

n/a Beiträge
 
#6

AW: Bild aus XML auslesen. Wie?

  Alt 3. Nov 2015, 19:58
Vielleicht hilft dieser Link weiter?
http://www.swissdelphicenter.ch/torr...de.php?id=1524

EDIT: Mittlerweile habe ich den im obigen Link enthaltenen BASE64-Decoder mit E-Mails getestet. Der funktioniert nicht. Aber der hier: http://www.delphipraxis.net/991-base...-decoding.html

Geändert von delnu ( 4. Nov 2015 um 00:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Bild aus XML auslesen. Wie?

  Alt 5. Nov 2015, 15:31
Ich würde Dir gerne eine entsprechende XML Datei zukommen lassen, allerdings ist Selbige > 100KB und somit nicht anzuhängen.
zippen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.270 Beiträge
 
Delphi 12 Athens
 
#8

AW: Bild aus XML auslesen. Wie?

  Alt 31. Mär 2014, 14:15
Problem ist noch das ich das Bild nicht direkt vom Stream in mein Image bekomme
Delphi-Quellcode:
Jpeg := TJPEGImage.Create;
Jpeg.LoadFromStream(binstream);
image1.Picture.bitmap.Assign(jpeg);
geht auch nicht. Bekomm ich einen JPEG-Fehler#42
In Welcher Zeile kommt der Fehler?

Ach ja, wolltest du das Jpeg nicht in das "Image" reinbekommen?
Wenn ja, warum weist du es dann dem Bitmap zu?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Bild aus XML auslesen. Wie?

  Alt 31. Mär 2014, 14:50
Delphi-Quellcode:
Jpeg := TJPEGImage.Create;
Jpeg.LoadFromStream(binstream);
image1.Picture.bitmap.Assign(jpeg);
geht auch nicht. Bekomm ich einen JPEG-Fehler#42
Probier es wie gesagt mal mit
Delphi-Quellcode:
Jpeg := TJPEGImage.Create;
Jpeg.LoadFromStream(binstream);
image1.Picture.Graphic := Jpeg;
Vorausgesetzt natürlich es ist auch wirklich ein JPEG.
Evtl musst du binstream.Position vorher auf 0 setzen. Bei manchen Methoden macht das Probleme wenn die Position nicht bei 0 steht.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:44 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