Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bild in Delphi öffnen/anzeigen (https://www.delphipraxis.net/95689-bild-delphi-oeffnen-anzeigen.html)

Lill Jens 11. Jul 2007 15:43


Bild in Delphi öffnen/anzeigen
 
Hey Ihr!

Wie kann ein Bild in Delphi hochladen? Wie wenn man in einem Forum ein Bild hochläd also sprich als Benutzerbild.

Im Prinzip soll es so funktionieren das ich auf einen Text klicke ('Bild hochladen') Und sich dann ein extra Fenster öffnet wo ich mein Bild suchen kann und auswählen kann. Dann sollte es in meinem Programm an der dafür vorher gesehenen Stelle erscheinen.

Ich hoffe ihr versteht was ich meine. Ist das Ganze überhaupt möglich?

Thx für euere Cmt's!


mfg

Lill Jens :coder2:


[edit=Matze]Titel geändert und "Win32" ausgewählt. Mit "Bild Hochladen" ist eigentlich etwas anderes gemeint. Mfg, Matze[/edit]

mkinzler 11. Jul 2007 15:45

Re: Bild hochladen
 
Ja mit INDY, Synapse, ICS.

Lill Jens 11. Jul 2007 15:49

Re: Bild hochladen
 
Zitat:

Zitat von mkinzler
Ja mit INDY, Synapse, ICS.

Thx für die schnell Antwort. Könntest mir vllt auch erklärn was des alles ist hab da nämlich null Ahnung :wall:


Thx :thumb:

mkinzler 11. Jul 2007 15:50

Re: Bild hochladen
 
Kommt darauf an, ob per POST oder GET gesendet wird
Hier im Forum suchenINDY GET
Hier im Forum suchenINDY POST

Apollonius 11. Jul 2007 15:53

Re: Bild hochladen
 
@mkinzler:
Zitat:

Dann sollte es in meinem Programm an der dafür vorher gesehenen Stelle erscheinen.
Ich glaube er meinte offline.

@Lill Jens:
Es gibt eine Komponente TOpenPictureDialog. Mit der Methode execute() wird ein Öffnen-Dialog geöffnet, in dem man ein Bild auswählen kann. Die TImage-Komponente kann Bilder darstellen. In deinem Fall wird es darauf hinauslaufen, dass du in der ButtonClick-Prozedur Opendialog1.execute aufrufst, dann mit image1.loadfromfile(Opendialog1.Filename) das Bild lädst.
Hoffe geholfen zu haben
Apollonius

Lill Jens 11. Jul 2007 15:57

Re: Bild hochladen
 
Zitat:

Zitat von Apollonius
@mkinzler:
Zitat:

Dann sollte es in meinem Programm an der dafür vorher gesehenen Stelle erscheinen.
Ich glaube er meinte offline.

@Lill Jens:
Es gibt eine Komponente TOpenPictureDialog. Mit der Methode execute() wird ein Öffnen-Dialog geöffnet, in dem man ein Bild auswählen kann. Die TImage-Komponente kann Bilder darstellen. In deinem Fall wird es darauf hinauslaufen, dass du in der ButtonClick-Prozedur Opendialog1.execute aufrufst, dann mit image1.loadfromfile(Opendialog1.Filename) das Bild lädst.
Hoffe geholfen zu haben
Apollonius

jetzt bin ich auf jedenfall schon mal weiter thx ich schaus mir morgen mal noch genauer an hab etz feierabend


thx

Lill Jens 12. Jul 2007 08:09

Re: Bild hochladen
 
Also soweit funktioniert das Ganze aber das des Bild dann angezeigt wird geht noch net sprich 'LoadFromFile' geht noch nicht. Wie genau muss denn der Quellcode dazu aussehen? :wall:

Matze 12. Jul 2007 08:16

Re: Bild hochladen
 
Zeig mal bitte deinen Code. Der erwähnte funktioniert nämlich:

Delphi-Quellcode:
if OpenPictureDialog1.Execute then
  Image1.LoadFromFile(OpenPictureDialog1.Filename)
Btw: Ich ändere mal deinen Themen-Titel, der ist doch sehr verwirrend. Ich hoffe, du findest das Thema dann noch. ;)

Lill Jens 12. Jul 2007 08:27

Re: Bild in Delphi öffnen/anzeigen
 
Alles klar


Delphi-Quellcode:
procedure TForm1.Label72Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;

end;
Weiter bin ich noch net...Mein programm lässt sich starten und das Bild öffnen Fenster kommt auch aber wie ich weiter machen muss weis ich net!

Thx schon mal für deine hilfe ;)

Matze 12. Jul 2007 08:30

Re: Bild in Delphi öffnen/anzeigen
 
Den Code habe ich bereits geschrieben, also sollte es funktionieren.

Es wäre evtl. auch ganz hilfreich für dich, in der Delphi-Hilfe nachzulesen, was Delphi-Referenz durchsuchenExecute für einen Rückgabewert hat, dass du verstehst, wieso das so aufgerufen wird. ;)

Lill Jens 12. Jul 2007 09:22

Re: Bild in Delphi öffnen/anzeigen
 
Zitat:

Zitat von Matze
Den Code habe ich bereits geschrieben, also sollte es funktionieren.


Muss also dann der Code so aussehen?

Delphi-Quellcode:
procedure TForm1.Label72Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
  Image3.LoadFromFile(OpenPictureDialog1.Filename)

end;
Allerdings kommt dann die Fehlermeldung:

Delphi-Quellcode:
[Fehler] u_Verwaltung.pas(5245): Undefinierter Bezeichner: 'LoadFromFile'

Sry für meine dummen Fragen bin eben noch neu auf dem Gebiet...

mkinzler 12. Jul 2007 09:24

Re: Bild in Delphi öffnen/anzeigen
 
Welchen Typ hat image3?

Blackheart 12. Jul 2007 09:25

Re: Bild in Delphi öffnen/anzeigen
 
Delphi-Quellcode:
Image.Picture.LoadFromFile();

DeddyH 12. Jul 2007 09:25

Re: Bild in Delphi öffnen/anzeigen
 
Image3.Picture.LoadFromFile(OpenPictureDialog1.Filename)

//Edit: *Oops*, da war jemand schneller.

Lill Jens 12. Jul 2007 09:29

Re: Bild in Delphi öffnen/anzeigen
 
Zitat:

Zitat von DeddyH
Image3.Picture.LoadFromFile(OpenPictureDialog1.Filename)


Optimal Ihr seid die Besten

Danke für euere Hilfe ;)

Sandy123 29. Feb 2012 13:51

AW: Bild in Delphi öffnen/anzeigen
 
habe eine frage, und zwar wie kann ich ein externes bild in delphi als hintergrundbild einbinden? :)
mfg philip

DeddyH 29. Feb 2012 13:56

AW: Bild in Delphi öffnen/anzeigen
 
Der ganz einfache Weg: pack ein TImage auf das Formular, Align auf alClient, und lad da wie gezeigt das Bild rein.

mkinzler 29. Feb 2012 14:03

AW: Bild in Delphi öffnen/anzeigen
 
Wenn die JVCL verwendet wird: TJvBackground

Bummi 29. Feb 2012 14:44

AW: Bild in Delphi öffnen/anzeigen
 
wenn die Jedi's noch nicht verwendet werden, dann doch lieber etwas in der Art s.u. um den Kram draussen zu halten.
Delphi-Quellcode:
  private
    FPicture:TPicture;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation
uses pngimage,jpeg;
{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
    FPicture:=TPicture.Create;
    FPicture.LoadFromFile('C:\Icons\IconCollection\ix_bd_all\128x128\shadow\address_book.png');
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
   FreeAndNil(FPicture);
end;

procedure TForm2.FormPaint(Sender: TObject);
  Function Faktor:Double;
    begin
       Result := ClientWidth / FPicture.Graphic.Width;
       if (ClientHeight / FPicture.Graphic.Height) < Result then Result := ClientHeight / FPicture.Graphic.Height;
    end;
begin
   Canvas.StretchDraw(Rect(Round(ClientWidth - (Faktor * FPicture.Graphic.Width) ) div 2
                          ,Round(ClientHeight - (Faktor * FPicture.Graphic.Height) ) div 2
                          ,ClientWidth - Round(ClientWidth - (Faktor * FPicture.Graphic.Width) ) div 2
                          ,ClientHeight - Round(ClientHeight -(Faktor * FPicture.Graphic.Height) ) div 2
                          )
                          ,FPicture.Graphic);
end;

procedure TForm2.FormResize(Sender: TObject);
begin
  invalidate;
end;

DeddyH 29. Feb 2012 14:50

AW: Bild in Delphi öffnen/anzeigen
 
Effizienter wäre es aber, Faktor als Variable zu deklarieren und einmalig zu berechnen. Dann muss nicht bei jedem OnPaint 4 Mal die Funktion durchlaufen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 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