AGB  ·  Datenschutz  ·  Impressum  







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

TJPEGimage

Ein Thema von Detrox · begonnen am 26. Okt 2009 · letzter Beitrag vom 27. Okt 2009
Antwort Antwort
Seite 3 von 4     123 4      
Detrox

Registriert seit: 26. Okt 2009
59 Beiträge
 
#21

Re: TJPEGimage

  Alt 27. Okt 2009, 08:30
Tyrael Y.


Das hatte ich ja auch schon funktioniert auch Super, aber wie gesagt nur jpg ich weis nicht welches Format das Bild hat es kann 3 Formate haben:

JPG/PNG/GIF

Ich probiere jetzt mal das andere aus.

LG
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#22

Re: TJPEGimage

  Alt 27. Okt 2009, 08:34
Detrox mal bitte nachdenken.
Guck dir mal den Code von turboPASCAL an. Ich hab dsa Gefühl du hast es nicht gemacht.

Delphi-Quellcode:
...
        if AnsiLowerCase(FExt) = '.bmpthen
        begin
          Image.Picture.Assign(TBitmap(ImgStream));
          Result := True;
        end else
...
Dieser ganze Teil prüft auf den Typ und castet den Stream entsprechend.
Also bitte mal Posts, die dir auf den ersten Blick kompliziert erscheinen nicht übergehen.

Das Problem ist an sich schon gelöst.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#23

Re: TJPEGimage

  Alt 27. Okt 2009, 08:37
Du widersprichst Dir selbst, der Code überprüft nicht den Typ, sondern die Endung . Aber gehen wir einfach davon aus, dass die schon stimmen wird, sonst verwirren wir den TE noch mehr, und verbessern kann man ja später immer noch.
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
Detrox

Registriert seit: 26. Okt 2009
59 Beiträge
 
#24

Re: TJPEGimage

  Alt 27. Okt 2009, 08:42
Hi turboPASCAL


Super Code, nur sieht meine Ermittelte Bildurl in etwa so aus:


http://www.google.de/tomate.gif

deine Function erwartet einmal die Variable URL & TImage

wenn ich das richtig verstehe ist TImage der Bildname mit Dateiendung?
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#25

Re: TJPEGimage

  Alt 27. Okt 2009, 08:45
Ich wollte nur dem TE darauf aufmersam machen, daß es schon eine quasi Prüfung gibt.

Wenn es erst mal so läuft bei ihm kann er eine Funktion
Delphi-Quellcode:
type TPicTypes =(ptUnknown, ptBitmap, ptJPEG, ptPNG,....)
...
function GetTpyeOfImage(Stream: TMemoryStream): TPicTypes;
machen.
...und dann in einem Case das ganze abhändeln.

Lass ihn aber erst einmal das bisher verstehen.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#26

Re: TJPEGimage

  Alt 27. Okt 2009, 08:50
Meine Rede

@TE: Du übergibst die URL und das TImage, in dem das Bild angezeigt werden soll, an die Funktion, das sollte doch nicht allzu schwer sein.
Delphi-Quellcode:
if not DownloadImageByName('http://www.irgendwo.de/bild.gif', ImageDasDieGrafikAnzeigenSoll) then
  //Fehlermeldung
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
Detrox

Registriert seit: 26. Okt 2009
59 Beiträge
 
#27

Re: TJPEGimage

  Alt 27. Okt 2009, 08:52
Tyrael Y.


Nach deinem Code, soll Delphi reagieren wenn die Dateiendung Beispielsweise ".gif" ist.

Aber wie reagieren, so bringe ich Delphi immer noch nicht dazu Gifs zu akzeptieren und anzuzeigen
oder muss ich da wieder alles komplett neu schreiben wie zB:

myJPEG := TGifImage.Create;

?
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#28

Re: TJPEGimage

  Alt 27. Okt 2009, 08:53
Hallo miteinander,

um die Massen noch ein wenig zu verwirren

sagt euch mal gedanklich von dem GDI-Kram los. Also keine TJpegImage, TBitmap usw.

Macht es einfach per GDI+. Mir ist gestern aufgefallen, daß Windows (Vista) kein Problem damit hat, wenn eine GIF-Datei eine PNG-Endung hat.
Also ist folgender Code rausgekommen:

Delphi-Quellcode:
procedure TForm7.Button1Click(Sender: TObject);
var
  Graphics : IGPGraphics;
  Bitmap : IGPBitmap;
  FileStream : TFileStream;
  StreamAdap : TStreamAdapter;
begin
  FileStream:=TFileStream.Create('C:\Users\MaWarm\Desktop\tools.irgendeindateiformat', fmOpenRead);
  StreamAdap:=TStreamAdapter.Create(FileStream, soOwned);

  Graphics:=TGPGraphics.Create(Self.Canvas);
  Bitmap:=TGPBitmap.Create(StreamAdap);

  Graphics.DrawImage(Bitmap,MakePoint(0,0));
end;
Alles was ihr sonst noch so braucht, ist IGDIPlus.

Statt Filestream kann hier natürlich auch jeder andere Stream genutzt werden.

Viel Spaß
Marco
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#29

Re: TJPEGimage

  Alt 27. Okt 2009, 09:51
Zitat von Detrox:
Tyrael Y.


Nach deinem Code, soll Delphi reagieren wenn die Dateiendung Beispielsweise ".gif" ist.

Aber wie reagieren, so bringe ich Delphi immer noch nicht dazu Gifs zu akzeptieren und anzuzeigen
oder muss ich da wieder alles komplett neu schreiben wie zB:

Zitat von turboPASCAL:

Delphi-Quellcode:
uses ..., IdHTTP, PngImage, Jpeg, GifImage;
// ...
          Image.Picture.Assign(TBitmap(ImgStream));
// ...
          Image.Picture.Assign(TJpegImage(ImgStream));
// ...
          Image.Picture.Assign(TPNGObject(ImgStream));
// ...
          Image.Picture.Assign(TGifImage(ImgStream));
Bei diesen Teilen des SourceCodes wird der Stream nach einer Prüfung, so behandelt wie der entsprechende Typ.
Genau das musst du dann machen.

Edit:
Der SourceCode von turboPascal ist doch ok, probier es doch mal.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Detrox

Registriert seit: 26. Okt 2009
59 Beiträge
 
#30

Re: TJPEGimage

  Alt 27. Okt 2009, 10:01
Ja der Quellcode von Turbopascal geht auch, hab mir mal bei jedem Bildformat Showmessage(Bildformat) anzeigen lassen erkennt alles richtig, nur zeigt das Bild noch nicht in meinem Image an.

da wos angezeigt werden soll: image1

aufgerufen habe ich die function so:

DownloadImageByName(avatarurl, Image1);

Wie gesagt wird nix angezeigt in der Imagebox
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 08:25 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