Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Performance bei vielen Images & Auflösung (https://www.delphipraxis.net/65679-performance-bei-vielen-images-aufloesung.html)

Hallo_Thomas 20. Mär 2006 22:01

Re: Performance bei vielen Images & Auflösung
 
Das Klappt,erstes Problem gelöst

Delphi-Quellcode:
   iTag := IntToStr(i);
      (FindComponent('Images'+(iTag)) as TImage).Picture.Assign(Rot);
     (FindComponent('Images'+((iTag))) as TImage).Picture.Bitmap.Canvas.Font.Size:=20;
      (FindComponent('Images'+((iTag))) as TImage).Picture.Bitmap.Canvas.Brush.Style := bsClear;
      (FindComponent('Images'+((iTag))) as TImage).Picture.Bitmap.Canvas.Handle:=Transparent;
    (FindComponent('Images'+((iTag))) as TImage).Picture.Bitmap.Canvas.TextOut(27, 32, '100');
Jetzt bleiben noch 2 übrig :zwinker:

Hallo_Thomas 21. Mär 2006 09:23

Re: Performance bei vielen Images & Auflösung
 
Liste der Anhänge anzeigen (Anzahl: 1)
:wall: :wall: :drunken: :wall: :drunken:

So, hab heut mah versucht datt eh bissl umzusetzen mit dem canvas, aber irgenwie will nix so recht.
, sobald ich die Auflösung verändere streiken die Bildchen.




Klappt nich wirklich, sieht sch... aus.(Siehe Bild, nach der auflöungsveränderung wirds im ImageButton weis)
Delphi-Quellcode:
procedure TForm1.AllMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
 itag:wideString;
begin

 iTag := IntToStr((Sender as TControl).Tag);
 //(FindComponent('Image'+(iTag)) as TImage).Picture.Assign(Buttonunten[(Sender as TImage).Tag]);
  (FindComponent('Image'+(iTag)) as TImage).Picture:=nil;
 ImageList1.Draw((FindComponent('Image'+(iTag)) as TImage).Canvas, 0, 0, 0);
end;

Klappt so halb, durch die auflösungsveränderung wills nich wirklich.(siehe Bild)
Der bereich um den der ImageButton verkleinert wird, wird nur neu gezeichnet beim auslösen des onclick's
und bei diesem Befehl
Delphi-Quellcode:
(FindComponent('Image'+(iTag)) as TImage).Picture.Assign(Buttonunten[(Sender as TImage).Tag]);
sonst nicht. Ich habs in form.create auch mah mit Form1.Canvas.Refres Form1.Refresh;Form1.Repaint; probiert, aber keines der drei will den komischen Rand verschwinden lassen.
Gibt es da einen Befehl?der das Bild nach der Auflöungsveränderung noch einmal neu zeichnet oder so?
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
 Form1.Canvas.Draw(0, 0, MainBitmap);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.
Seite 2 von 2     12   

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