AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Glyph bei Buttons ist TBitmap, ich brauche TPicture
Thema durchsuchen
Ansicht
Themen-Optionen

Glyph bei Buttons ist TBitmap, ich brauche TPicture

Ein Thema von MaBuSE · begonnen am 19. Nov 2004 · letzter Beitrag vom 27. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 19. Nov 2004, 13:13
Einer TImage Komponente kann man ja über die Eigenschaft Picture vom Typ TPicture ein Bild zuweisen.
Es gibt die Möglichkeit nicht unterstützte Dateitypen zu implementieren.
    TPicture.RegisterFileFormat('PNG', 'Portable Network Graphics', TPNGObject); Damit kann dann die TImage Komponente (und alle Komponenten die TPicture verwenden) auch diese Grafikformate verarbeiten.

Bei einem TBitBtn, TSpeedButton, ... ist die Eigenschaft Glyph vorhanden.
Mit dieser Eigenschaft kann dem Button ein Bild zugewiesen werden.

Dummerweise ist Glyph vom Typ TBitmap.
Delphi-Quellcode:
  TBitBtn = class(TButton)
    ...
    property Glyph: TBitmap read GetGlyph write SetGlyph stored IsCustom;
    ...
Die TImage Komponente verwendet ein TPicture.
Delphi-Quellcode:
  TImage = class(TGraphicControl)
    ...
    property Picture: TPicture read FPicture write SetPicture;
    ...
Da ich aber *.png Grafiken mit Alpha Blending verwenden möchte um die Icons unabhängig von dem gewähltem Skin (XP Theme) darzustellen, brauche ich Buttons, die mit TPicture arbeiten.

Kann mir jemand solch eine Button Komponente empfehlen?

Ich habe schon nach Komponenten gesucht, aber noch keine Vernünftige gefunden.
Die Komponente sollte sich auch dem XP Theme anpassen (XP Manifest)

Danke

[edit]eigentliche Frage Fett gemacht[/edit]
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 19. Nov 2004, 14:01
Versuche es mal mit Assign. Also

BitBtn.Bitmap.Assign(Picture) oder so ähnlich. Vielleicht klappts.

[edit]Ach vergiss, sehe gerade, dass du was ganz anderes möchtest [/edit]
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 16:53
*push*

stehe grade vor dem selben Problem ...

Hast du mittlerweile eine geeignete Komponente gefunden ?
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:02
Zitat von Orbmu2k:
stehe grade vor dem selben Problem ...
Hast du mittlerweile eine geeignete Komponente gefunden ?
Nein, ich habe mir die *.png Dateien mit einem Konverter nach *.bmp konvertiert (Hintergrund clSilver und lila Transparenz-Maske) und die Bmps den Buttons zugewiesen. (Hoffentlich ändert kein Benutzer das Farbschema )

Aber: Die Firma Developer Express Inc wird das in eine der nächsten Versionen Ihrer Komponenten einbauen ( http://www.devexpress.com )

Zitat:
QUESTION: Why is TcxButton.Glyph only TBitmap and not TPicture?
Expert: Developer Express
IDE version: D5 D7
Platform: WinXP

Hello,
I'm working with QuantumGrid 3 and 4.

Why is TcxButton.Glyph only TBitmap
and not TPicture?

I can only load *.bmp files.

How can i load *.png files with
alpha blending as glyph?

In TImage.Picture.LoadFromFile ist works fine.
(I'm using http://pngdelphi.sourceforge.net/)

kind regards
Dr. MaBuSE

ANSWER:
Hi,

Actually, it is standard for VCL controls to have the Glyph property of the TBitmap type. However, we have added your request to our wish list and the type of the Glyph property will probably be changed in a future version of the ExpressEditors.

Thanks.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:05
Die sind aber glaube nur gegen Geld zu haben ...

Muss man sich wohl doch selbst an die Arbeit stürzen
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:08
Zitat von Orbmu2k:
Die sind aber glaube nur gegen Geld zu haben ...
Muss man sich wohl doch selbst an die Arbeit stürzen
Ja, kosten Geld, sind aber auch wirklich gut.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:33
Ich glaube bei der JediVCL sind auch Buttons mit TPicture Glyph dabei.
Ansonsten hilft natuerlich ein Glyph.Assign(SeparatePicture.Graphic.Bitmap);
Dafuer ist naemlich Graphic.Bitmap da. Windows kann nur Bitmaps anzeigen,
daher muss Picture immer eine Bitmap-Version vorhalten.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:36
Zitat von Robert Marquardt:
Ansonsten hilft natuerlich ein Glyph.Assign(SeparatePicture.Graphic.Bitmap);
Dafuer ist naemlich Graphic.Bitmap da. Windows kann nur Bitmaps anzeigen,
daher muss Picture immer eine Bitmap-Version vorhalten.
Damit funktioniert aber der Alpha Chanel der PNGs nicht !!!
(Das war das erste was ich probiert habe)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:44
Dann ist die Transparent-Implementation fuer PNG eben schlecht. Pech gehabt.
Alternativ rangehen und reparieren. Das duerfte ja OpenSource sein.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture

  Alt 22. Feb 2005, 17:52
Zitat von Robert Marquardt:
Dann ist die Transparent-Implementation fuer PNG eben schlecht. Pech gehabt.Alternativ rangehen und reparieren. Das duerfte ja OpenSource sein.
TBitmap macht Transparenz in dem die Farbe des linken oberen Pixels als Transparent-Farbe definiert.
Bei *.png Dateien kann man transparente Abstufungen in 256 Stufen machen. (8Bit)

Da der BitBtn leider nicht das Canvas auf dem er das Glyph zeichnet an das zu zuweisende Picture weitergibt, kann das picture in der TPicture.Bitmap auch nicht den Hintergrund des Buttons wissen und somit auch keine echte Transparenz umsetzen. Abhängig vom Skin ist es aber auch nicht leicht das "untenliegende" Canvas des Glyphs zu ermitteln um dann selbst was zu basteln.

In Internet findet sich diese Frage relativ häuftig, aber es gibt nirgends eine Lösung.
-> Scheint also nicht ganz so einfach zu sein.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:22 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