AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Bild aus Internet laden
Thema durchsuchen
Ansicht
Themen-Optionen

Bild aus Internet laden

Ein Thema von Äfan · begonnen am 4. Jan 2005 · letzter Beitrag vom 3. Feb 2009
Antwort Antwort
Seite 2 von 2     12   
Dash
(Gast)

n/a Beiträge
 
#11

Re: Bild aus Internet laden

  Alt 14. Apr 2005, 20:11
Also ich bin nach dem Beispiel gegangen, das Sprint verlinkt hat.

Zitat von Sprint:
Zitat von Äfan:
Wie mache ich das z.B. mit indy ?
Link
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Bild aus Internet laden

  Alt 14. Apr 2005, 21:20
Zitat von Äfan:
Komisch, dass beispiel von Dash geht. Nehme ich allerdings das andere von dieser einen Seite da, gehts net.


thx
IMHO muss man manchmal auf groß und kleinschreinug achten! Vielleicht liegts daran !?

mfg
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Bild aus Internet laden

  Alt 14. Apr 2005, 21:38
Nur mal so zur Info. Man kann mit den Indys auch in einen Stream herunterladen und mit TImage auch aus einem Stream heraus laden, damit spaart man sich das anlegen einer Temp-datei.
Delphi-Quellcode:
var LHttp: TIdHTTP;
    LDestStream: TMemoryStream;
    LJpg: TJPEGImage;
begin
  LDestStream := TMemoryStream.Create; //MemoryStream für das Bild was wir runterladen
  LHttp := TIdHTTP.Create(nil); //Instanz des Http-Clients erstellen
  LHttp.Get('http://www.esfeb-it.de/esfeb-it/previewpics/mpv1.jpg', LDestStream); //bild in den Memorystream herunterladen
  LHttp.Free; //jetzt brauche wir den http-client nicht mehr, also wird er freigegeben
  LDestStream.Position := 0; //stream-position auf 0 setzen
  LJpg := TJPEGImage.Create; //Jpeg-Instanz erstellen
  LJpg.LoadFromStream(LDestStream); //das Jpeg-Bild aus unserem stream laden (also das heruntergeladene Bild aus dem Stream holen)
  Image1.Picture.Assign(LJpg); //unser jpg dem TImage zuweisen
  LJpg.Free; //jpeg-bild freigeben
  LDestStream.Free; //memory-stream frei geben
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Richie1103

Registriert seit: 2. Feb 2009
20 Beiträge
 
#14

Re: Bild aus Internet laden

  Alt 2. Feb 2009, 17:15
Hi ich bin neu, und habe ein ähnliches Problem.


will auch Bilder aus dem netz laden aber es sollen mehrere sein und cih wollte es mit einer for to do schleife realisieren.

Hier der quelltext:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ziel,Datei,s:PChar;
      i:Integer;
begin
For i:=1 to 168 do
 begin
   try
    s:=InttoSTr(i);
    Datei := 'link'+ s[1] + '.png';
    Ziel := 'C:\Documents and Settings\User\Desktop\Neuer Ordner';
    UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
   except
    // Fehlermeldung ausgeben
  end;
 end;
end;
Wie ihr sicher mitbekommen habt, sind es mehrere Bilder bei denen sich nur eine Zahl ändert.

Es kommt folgende Fehlermeldung

Code:
[Fehler] Unit1.pas(36): Inkompatible Typen: 'String' und 'PAnsiChar'

es wäre auch praktisch wenn ihr noch einen Befehl mit dazu tun könntet der mir die png Bilder gleich in jpeg umwandelt.

Hoffe auf baldige kreative Hilfe[delphi]
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#15

Re: Bild aus Internet laden

  Alt 2. Feb 2009, 17:32
Geht es vielleicht so?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ziel,Datei: string;
      i:Integer;
begin
  For i:=1 to 168 do
  begin
    try
      Datei := Format('link%d.png',[i]);
      Ziel := 'C:\Documents and Settings\User\Desktop\Neuer Ordner';
      UrlDownloadToFile(nil, PAnsiChar(Datei), PAnsiChar(Ziel), 0, nil);
    except
      on E: Exception do
        MessageBox(Handle,PAnsiChar(E.Message),'Fehler',MB_OK or MB_ICONERROR);
    end;
  end;
end;
Ohne Gewähr, da nur so heruntergetippt.

P.S.: Willkommen in der DP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Richie1103

Registriert seit: 2. Feb 2009
20 Beiträge
 
#16

Re: Bild aus Internet laden

  Alt 3. Feb 2009, 08:42
Vielen Dank für den Quellcode.
Hab mal den Link bei mir durch das original ersetzt. Das Programm läuft, mach aber irgendwie gar nichts ^^. Lädt mir die Bilder nicht runter. (zummindestens erscheinen keine neuen Datein in dem ordner). sieht irgend jemand nen Fehler?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ziel,Datei: string;
      i:Integer;
begin
  For i:=1 to 168 do
  begin
    try
      Datei := Format('http://wowdata.buffed.de/img/icons/wow/64/inv_potion_%d.png',[i]);
      Ziel := 'C:\Documents and Settings\User\Desktop\Neuer Ordner';
      UrlDownloadToFile(nil, PAnsiChar(Datei), PAnsiChar(Ziel), 0, nil);
    except
      on E: Exception do
        MessageBox(Handle,PAnsiChar(E.Message),'Fehler',MB_OK or MB_ICONERROR);
    end;
  end;
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Bild aus Internet laden

  Alt 3. Feb 2009, 09:35
Muss nicht bei Ziel auch der entsprechende Dateiname gesetzt werden ?
Blackheart
  Mit Zitat antworten Zitat
Richie1103

Registriert seit: 2. Feb 2009
20 Beiträge
 
#18

Re: Bild aus Internet laden

  Alt 3. Feb 2009, 10:41
Danke das war der Fehler, Programm funktioniert.
Für spätere hier nochmal Quelltext

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Ziel,Datei: string;
      i:Integer;
begin
  For i:=1 to 168 do
  begin
    try
      Datei := Format('http://wowdata.buffed.de/img/icons/wow/64/inv_potion_%d.png',[i]);
      Ziel := 'C:\Documents and Settings\User\Desktop\Neuer Ordner\'+ InttoStr(i) + '.png';
      UrlDownloadToFile(nil, PAnsiChar(Datei), PAnsiChar(Ziel), 0, nil);
    except
      on E: Exception do
        MessageBox(Handle,PAnsiChar(E.Message),'Fehler',MB_OK or MB_ICONERROR);
    end;
  end;
Nochmals vielen dank problem gelöst
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:45 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