Delphi-PRAXiS

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 TToolBar: Button-Icons glättern??? (https://www.delphipraxis.net/53337-ttoolbar-button-icons-glaettern.html)

romber 14. Sep 2005 13:24


TToolBar: Button-Icons glättern???
 
Hallo!

Ich habe ein ToolBar in meinem Programm. Jetzt habe ich einen umfangreichen IconPack gekauft, um Programm schön zu gestalten. Ich habe drei TImageList erstellt für "normale", "aktive" und "deaktivierte" Icons (normal, hot, disabled) und diese mit der TToolBar verknüpft. Doch die Icons werden irgendwie eckig angezeigt, obwohl das absolut professionelle Bilder sind und die Größe der TImageList der Größe des Icons entspricht. Woran kann das liegen?

shmia 14. Sep 2005 14:31

Re: TToolBar: Button-Icons glättern???
 
Zitat:

Zitat von romber
Doch die Icons werden irgendwie eckig angezeigt....

Da kann ich mir nichts drunter vorstellen.
Du müsstest als erstes mal die einzelnen Bildchen in deiner Imagelist überprüfen.
Nimm folgende Procedure um alle Bildchen auf ein Image zu laden und schau dir das optische Ergebnis an.
Delphi-Quellcode:
procedure PaintImagelist(imglist : TImageList; image : TImage; Gap:Integer=1);
var
   i : Integer;
   x ,y : Integer;
begin
   x := 0;
   y := 0;
   for i := 0 to imglist.Count-1 do
   begin
      imglist.Draw(image.Canvas, x, y, i);
      x := x + imglist.Width+Gap;
      if x > (image.Width - imglist.Width) then
      begin
         x := 0;
         y := y + imglist.Height+Gap;
      end;
   end;
end;

FriFra 14. Sep 2005 14:41

Re: TToolBar: Button-Icons glättern???
 
Haben die Images wirklich exakt die Größe der Imagelist? Manchmal sehen Rundungen oder schräge Linien mit einer anderen Hintergrundfarbe gut aus und in der Toolbar nicht mehr, da hilft dann nur Nachbearbeiten ;)

Wenn Du allerdings Icons in eine Imagelist lädst, dann nimmt Delphi NICHT die 16x16 Version, sondern "stretcht" die 32x32 Version... da hab ich mich auch schon drüber geärgert, nützt aber nichts, auch da musst Du die entspr. Bildchen eben von Hand aus dem *.ico holen ;)

romber 14. Sep 2005 16:23

Re: TToolBar: Button-Icons glättern???
 
Ich habe die Code von Shmia ausgeführt und die Bilder wurden in einem TImage auch "unsauber" angezeigt. Allerdings wenn ich die Bilder normal in TImage lade, werden die korrekt angezeigt. Liegt es an der TImageListe?

Zitat:

Zitat von FriFra
Haben die Images wirklich exakt die Größe der Imagelist? Manchmal sehen Rundungen oder schräge Linien mit einer anderen Hintergrundfarbe gut aus und in der Toolbar nicht mehr, da hilft dann nur Nachbearbeiten

Wenn Du allerdings Icons in eine Imagelist lädst, dann nimmt Delphi NICHT die 16x16 Version, sondern "stretcht" die 32x32 Version... da hab ich mich auch schon drüber geärgert, nützt aber nichts, auch da musst Du die entspr. Bildchen eben von Hand aus dem *.ico holen

Die Bilder haben exact die Größe der TImageList und zwar 32x32.

shmia 14. Sep 2005 16:27

Re: TToolBar: Button-Icons glättern???
 
Zitat:

Zitat von romber
Ich habe die Code von Shmia ausgeführt und die Bilder wurden in einem TImage auch "unsauber" angezeigt. Allerdings wenn ich die Bilder normal in TImage lade, werden die korrekt angezeigt. Liegt es an der TImageListe?

Wie ist denn TImageList.DrawingStyle ????
Sollte dsNormal sein!

romber 14. Sep 2005 16:32

Re: TToolBar: Button-Icons glättern???
 
Zitat:

Zitat von shmia
Wie ist denn TImageList.DrawingStyle ????
Sollte dsNormal sein!

Ist es auch.

DGL-luke 14. Sep 2005 17:51

Re: TToolBar: Button-Icons glättern???
 
zeig doch mal zwei screenshots. einmal das icon selbst und einmal wie es in delphi aussieht.


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