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 TImage zur Laufzeit positionieren (https://www.delphipraxis.net/60511-timage-zur-laufzeit-positionieren.html)

Matze 8. Jan 2006 11:44

Re: TImage zur Laufzeit positionieren
 
Zitat:

Zitat von bluescreen25
Der User soll ja später mal seinen Skin basteln können.

Acho, korrekt dafür ist das gänzlich ungeeignet. War nur einer meiner ersten Tests damals. Ich wusste nicht, dass der Anwender seinen Skin basteln können soll.

bluescreen25 8. Jan 2006 11:57

Re: TImage zur Laufzeit positionieren
 
Zitat:

Zitat von Matze
Zitat:

Zitat von bluescreen25
Der User soll ja später mal seinen Skin basteln können.

Acho, korrekt dafür ist das gänzlich ungeeignet. War nur einer meiner ersten Tests damals. Ich wusste nicht, dass der Anwender seinen Skin basteln können soll.

da ich aber hingegen zu dir überhaupt gar keine Ahnung von der Grafik in Delphi habe, hatte ich mir schonmal ein paar Möglichkeiten angesehen. Bin erst seit 8 Wochen an Delphi dran und kümmerte mich erstmal im Funktionen meines Programms.

Kannste evt nochmal hierdrauf eingehen ?

Was ist eigendlich der grobe Unterschied vom Einlesen der Jpegs? (ausser, das man innerhalb des Timage das JPG nochmal verschieben kann) Verhält sich das Speichermäßig anders? oder warum geht man über den umständlichen Weg des TJpegimage.create ?

Delphi-Quellcode:
Image2.Width := 210;
Image2.Height := 60;
Image2.Top := 250;
Image2.left := 10;
Image2.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg');
oder
Delphi-Quellcode:
button:=tjpegimage.Create;
button.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg');
Image2.Width := 210;
Image2.Height := 60;
Image2.Top := 250;
Image2.left := 10;
Image2.Canvas.Draw(0,0,button);
button.Free;

SirThornberry 8. Jan 2006 12:07

Re: TImage zur Laufzeit positionieren
 
Zitat:

Image2.Width := 210;
Image2.Height := 60;
Image2.Top := 250;
Image2.left := 10;
Leute? was soll das? Nen größeren Performancekiller gibts kaum. Dadurch wird 4 mal SetBounds aufgerufen was beim TImage ein 4maliges neu berechnen des anzuzeigenden Bildes bewirkt!!
Wenn dann doch bitte so
Delphi-Quellcode:
Image2.SetBounds(10, 250, 210, 60);

bluescreen25 8. Jan 2006 12:28

Re: TImage zur Laufzeit positionieren
 
Zitat:

Zitat von SirThornberry
Zitat:

Image2.Width := 210;
Image2.Height := 60;
Image2.Top := 250;
Image2.left := 10;
Leute? was soll das? Nen größeren Performancekiller gibts kaum. Dadurch wird 4 mal SetBounds aufgerufen was beim TImage ein 4maliges neu berechnen des anzuzeigenden Bildes bewirkt!!
Wenn dann doch bitte so
Delphi-Quellcode:
Image2.SetBounds(10, 250, 210, 60);

Also nochmal: Welchen Unterschied gibt es zwischen den folgenden Möglichkeiten ?

Delphi-Quellcode:
Image2.SetBounds(0, 164, 210, 60); //left,top,width,height
Image2.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg');
und dieser hier:
Delphi-Quellcode:
button:=tjpegimage.Create;
button.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg');
Image2.SetBounds(0, 164, 210, 60); //left,top,width,height
Image2.Canvas.Draw(0,0,button); //x,y innerhalb des image2
button.Free;

Matze 8. Jan 2006 12:38

Re: TImage zur Laufzeit positionieren
 
Beim zweiten Code wird ein TImage für den Button erstellt und dieses dann auf das erste Image gezeichnet, was nicht notwendig ist. Erste Variante lädt den Button direkt ins Image1, was auf jedenfall schneller geht und kurzzeitig weniger Resourcen benötigt, da nur ein Image erstellt werden muss.

bluescreen25 8. Jan 2006 12:49

Re: TImage zur Laufzeit positionieren
 
dann danke ich euch allen hier für die hilfreichen Infos... :-D

fehlt eigendlich nur noch die OnMouseOver Möglichkeit, damit man jetzt anständige Buttons erzeugen kann... kennt jemand eine Komponente , welche das TImage um sowas erweitert ? Mit selber schreiben, da bin ich noch nicht soweit !


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