Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ganz einfach Grafiken einfügen (https://www.delphipraxis.net/67174-ganz-einfach-grafiken-einfuegen.html)

Ethereal 10. Apr 2006 18:42


Ganz einfach Grafiken einfügen
 
Hiho ^^
Ich habe jetzt viel gesucht, aber nirgends gefunden, wie man Bilder in einer Paintbox darstellz. Wie man sie bearbeite, und alles mägliche anstellen kann, steht überall... Aber nicht wie ich es einfüge.

Das einzige was ich gefunden habe, und was auch geht, ist das Bild per OpenDialog einzufügen. Da öffnet sich allerdings ein Auswahlfenster. Ich müsste aber das Bild auf Buttondruck sofort einfügen.

Wie mache ich das? :oops:

DGL-luke 10. Apr 2006 20:14

Re: Ganz einfach Grafiken einfügen
 
die Paintbox hat ja ein Canvas. ein Delphi-Referenz durchsuchenTBitMap hat auch eins. und per Delphi-Referenz durchsuchenCopyRect kann man da rundrum kopieren ;)

EDIT: da du ja anscheinend ein anfänger bist, mal ein bisschen source code:

Delphi-Quellcode:
procedure loadbitmap(Paintbox: TPaintBox; Filename: string);
var b:TBitmap;
begin
try
  b := TBitmap.create;
  b.LoadFromFile(Filename);
  Paintbox.canvas.Copyrect(rect(0,0,b.width,b.height),b.canvas,rect(0,0,b.width,b.height));
finally
  b.free;
end;
end;
(Das ist jetzt nur so schnell hingetippt, wenn dir der Compiler einen fehler meldet, nicht gleich verzweifeln ;))

Diese Prozedur kannst du ganz einfach in deine Delphi-Unit einfügen und dann per

Delphi-Quellcode:
loadbitmap(Paintbox1,'C:\tolles_bild.bmp');
aufrufen.

Hawkeye219 10. Apr 2006 20:52

Re: Ganz einfach Grafiken einfügen
 
Das Erzeugen der Bitmap sollte besser vor dem TRY erfolgen.
Und mit der Methode Draw von TCanvas spart man noch etwas Schreibarbeit :wink:

Delphi-Quellcode:
procedure loadbitmap(Paintbox: TPaintBox; Filename: string);
var b:TBitmap;
begin
  b := TBitmap.create;
  try
    b.LoadFromFile(Filename);
    Paintbox.canvas.Draw (0, 0, b);
  finally
    b.free;
  end;
end;
Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz