AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TActionManager + TVirtualImageList + PNG

Ein Thema von cltom · begonnen am 11. Mai 2023 · letzter Beitrag vom 12. Mai 2023
Antwort Antwort
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
135 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: TActionManager + TVirtualImageList + PNG

  Alt 11. Mai 2023, 09:53
Sind die icons wirklich .png? Die regeln das doch über den alpha-channel, und das funktioniert sowieso besser. Rosa Ränder tauchen eigentlich nur bei .bmp auf, die eine transparente Farbe haben. Man könnte aber ziemlich einfach eine utility schreiben, die die transparente Farbe in alpha übersetzt und das Ergebnis in .png abspeichert.

Renate
Renate
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
230 Beiträge
 
Delphi 12 Athens
 
#2

AW: TActionManager + TVirtualImageList + PNG

  Alt 11. Mai 2023, 10:58
Danke für die Rückmeldungen. Das Beispiel anbei. Ja, es sind png mit transparentem Hintergrund.

Denkbar, dass es indirekt mit Anti-Aliasing zusammenhängt ... ?! Wie genau die Transparenz beim AA interpretiert wird.
Angehängte Dateien
Dateityp: zip demo.zip (15,3 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#3

AW: TActionManager + TVirtualImageList + PNG

  Alt 11. Mai 2023, 11:28
Dem Action-SpeedButton ist keine ImageList zugewiesen. In dem Fall wird beim Zuweisen der Action ein Bitmap erzeugt und als Glyph angezeigt (kann man im Glyph Property sehen).

Richtiges Vorgehen: Dem SpeedButton erst die ImageList und danach die Action zuweisen. Das setzt dann im SpeedButton den ImageIndex.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#4

AW: TActionManager + TVirtualImageList + PNG

  Alt 11. Mai 2023, 12:51
Es sieht ja so aus, als wenn bei der Action das "Image" umkopiert/transformiert wird.
Also z.B. das PNG intern auf einen rosa Hintergrund und das ErgebnisBild (Icon/Bitmap) dann erst im Button zu sehen ist.

Wenn da das Alpha in eine Transparenz-Maske (durchsichtiges Pixel oder nicht) überführt würde, dann kommt sowas bei raus, wenn man "halbtransparente" Pixel letztendlich als Transparent und nicht als Intransparent behandelt. (oder beim Umkopieren muß eine passendere Hintergrundfarbe benutzt werden ... wobei oftmals einfach schwarz, anstatt Rosa genommen wird, was auch nicht immer "optimal" ausschaut, z.B. auf hellen Buttons/Komponenten)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
230 Beiträge
 
Delphi 12 Athens
 
#5

AW: TActionManager + TVirtualImageList + PNG

  Alt 12. Mai 2023, 08:00
Dem Action-SpeedButton ist keine ImageList zugewiesen. In dem Fall wird beim Zuweisen der Action ein Bitmap erzeugt und als Glyph angezeigt (kann man im Glyph Property sehen).

Richtiges Vorgehen: Dem SpeedButton erst die ImageList und danach die Action zuweisen. Das setzt dann im SpeedButton den ImageIndex.
Ok, danke, das wusste ich nicht. Ich dachte, es würde reichen, die Action zuzuweisen und damit kommt der Rest mit. Aber ja, sobald man es macht, wie Du es beschrieben hast, passt das Icon.

Danke!!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#6

AW: TActionManager + TVirtualImageList + PNG

  Alt 12. Mai 2023, 08:44
Die Action kennt die ImageList für den Button ja gar nicht. Man könnte jetzt die der ActionList nehmen, aber die gibt es häufig gar nicht oder sie passt nicht zu dem Form auf dem der Button liegt (wichtig bei per Monitor DPI).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
230 Beiträge
 
Delphi 12 Athens
 
#7

AW: TActionManager + TVirtualImageList + PNG

  Alt 12. Mai 2023, 13:38
Die Action kennt die ImageList für den Button ja gar nicht. Man könnte jetzt die der ActionList nehmen, aber die gibt es häufig gar nicht oder sie passt nicht zu dem Form auf dem der Button liegt (wichtig bei per Monitor DPI).
ok, ist klar, Danke Dir!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 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