AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Image als Stream versenden
Thema durchsuchen
Ansicht
Themen-Optionen

Image als Stream versenden

Offene Frage von "hibbert"
Ein Thema von hibbert · begonnen am 30. Aug 2005 · letzter Beitrag vom 2. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#1

Image als Stream versenden

  Alt 30. Aug 2005, 23:30
Hi,
ich habe auf meinem Formbaltt ein Image. Dieses Image wird regelmäßig aktualisiert.

Nun möchte ich aber gerne, das dieses Bild als "Livestram" an einen Clienten verschickt wird.

Muss ich dazu erst das Image auf Festplatte speichern und dann als Datei verschicken und vom Clienten neu laden lassen ?

Oder kann ich das ganze auch machen, ohne das Bild abzuspeichern ?

ich bin erstmal für jede Hilfe dankbar.

thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#2

Re: Image als Stream versenden

  Alt 30. Aug 2005, 23:46
Zerbs

Um ein Image als Stream zu versenden musst du so vorgehn:

Delphi-Quellcode:
FStream := TFileStream.Create( pfad, fmCreate );
Image1.Picture.Bitmap.SaveToStream;
Und um es wieder als Image zu speichern:

Image1.Picture.Bitmap.LoadFromStream(FStream) Mfg st0rm
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Image als Stream versenden

  Alt 31. Aug 2005, 00:04
Hi,
also ich habe da mal gleich was ausprobiert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var fStream: tfilestream;
begin
FStream := TFileStream.Create(extractfilepath(application.exename)+'test.jpg', fmCreate );
image1.Picture.Bitmap.SaveToStream(FStream);
fstream.Free;
end;
Mit meinem Quelltext wird einfach nur ein Bild namens test.jpg im Programmverzeichnis angelegt.

Wie kann ich dieses Bild nun auf einem anderen PC (zb. im Netzwerk) anzeigen ?

thx hibbert
  Mit Zitat antworten Zitat
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Image als Stream versenden

  Alt 31. Aug 2005, 09:27
Dazu musst du dich wohl noch ein bisschen mit Netzwerk-Programmieren beschäftigen. Da kenn ich mich aber leider nicht aus.

Aber was anderes: Wenn du nicht erst auf der Festplatte speichern willst, kannst du anstelle eines FileStreams das Bild auch in einem MemoryStream speichern und dann direkt das durchs Netz jagen
Christian
Der Computer hilft mir, Probleme zu lösen, die ich ohne Computer nicht hätte.
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#5

Re: Image als Stream versenden

  Alt 31. Aug 2005, 11:17
Moin

Um den FileStream an einem anderen Computer im Neztwerk oder auch im Internet zu versenden würd ich die Indy 10 Komponente IdTCP verwenden.

Dazu gibts schon einige Threads zum versenden von Streams: Link

Mfg st0rm
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#6

Re: Image als Stream versenden

  Alt 31. Aug 2005, 11:17
Hallo,

sieh dir erst ein mal diesen Code an.

Dann kannst du im Sender folgendes ersetzen:
Delphi-Quellcode:
var FStream : TMemoryStream;

  FStream := TMemoryStream.Create;
  Bild.Picture.Bitmap.SaveToStream(FStream);
  IDS := TidStreamVCL.Create(FStream);
Und im Empfänger das:
Delphi-Quellcode:
var FSTream : TMemoryStream;

  FStream := TMemoryStream.Create;
  IDS := TidStreamVCL.Create(FStream);

  Bild.Picture.Bitmap.LoadFromStream(FStream);

  FStream.Free;
  IDS.Free;
end;
Die Datei-Open-/Save-Dialoge fallen dann natürlich weg.
Diese Lösung müsste aufs Erste funktionieren.

Wenn nicht, dann nimm doch FileStreams, wie im Beispiel, aber natürlich gespeichert von der Grafik (LoadFromStream...).

Gruß,
ManuMF
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Image als Stream versenden

  Alt 31. Aug 2005, 20:33
hi,
ich habe zwar kein indy10 habe es aber mit den indy 9 hinbekommen, ist ja nicht ganz anders

vielen dank.

nun habe ich noch eine letzte Frage:

kann ich IdTcpClient und IdTcpServer auf ein Formblatt packen und beie auf active = true stellen ? Beide Kompos laufen über den gleichen port, nur der Client hat einen anderen Rechner als Host.

Geht das gut, oder eher nicht ? Denn ich möchte ja geren zwischen 2 PC Dateien austauschen, undzwar gleichzeitig.

thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#8

Re: Image als Stream versenden

  Alt 1. Sep 2005, 10:00
Einfach mal ausprobieren

(Zumindest bei Indy 10) Hat nur der Server die Eigenschaft Active. Theoretisch dürfe es aber kein Problem sein, nur wenn man zwei Clients oder zwei Server auf einer Form hat, könnte es Probleme geben.
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Image als Stream versenden

  Alt 2. Sep 2005, 18:09
ok ich habs ausprobiert und es geht, naja ich muss noch dran arbeiten

danke !!
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#10

Re: Image als Stream versenden

  Alt 2. Sep 2005, 18:22
Mhhh, für was willst du überhaupt einen Server und einen Client gleichzeitig in einem Prozess packen??? Denn das versenden von Streams funst eh in beide Richtungen.

Mfg
  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 14:02 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