AGB  ·  Datenschutz  ·  Impressum  







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

BitBtn ohne transparenz nutzen

Offene Frage von "himitsu"
Ein Thema von Nixsager · begonnen am 8. Mai 2021 · letzter Beitrag vom 8. Mai 2021
Antwort Antwort
Seite 1 von 2  1 2      
Nixsager

Registriert seit: 15. Aug 2012
13 Beiträge
 
Delphi 7 Personal
 
#1

BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 12:03
Hi

Ist es möglich, BitBtn ohne transparenz zu nutzen?

Gruß vom Nixsager
GPL = Greatest Pest License !!!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 12:43
Panel ohne Rahmen drumrum/dahinter?

Oder was Anderes benutzen, wie z.B. TSpeedButton?
$2B or not $2B
  Mit Zitat antworten Zitat
Nixsager

Registriert seit: 15. Aug 2012
13 Beiträge
 
Delphi 7 Personal
 
#3

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 12:53
Also geht das leider nicht.
GPL = Greatest Pest License !!!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 12:56
Geht bestimmt.

Du mußt dich vermutlich bloß in die Paint-Routine reinhängen und zu Beginn den Hintergrund übermalen.



[edit]
TBitBtn ist ein normales TButtonControl/TWinControl.
Dachte er ist sowas "selbstgemachtes" wie TLabel, TShape oder TImage, welche sich nicht selbst malen (keine "echten" Windows-Controls sind), sondern die sich auf den Canvas des Parents malen.

Was meinst'e denn mit Transparenz genau?

Oder war das in D7 noch anders, mit der Vererbung?
Was sind denn bei dir die Vorfahren des TBitBtn? (irgendwo ein TGraphicControl dabei?)
$2B or not $2B

Geändert von himitsu ( 8. Mai 2021 um 13:02 Uhr)
  Mit Zitat antworten Zitat
Nixsager

Registriert seit: 15. Aug 2012
13 Beiträge
 
Delphi 7 Personal
 
#5

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 13:06
Na ja, ich habe es jetzt so gemacht, das ich den linken-unteren Bildpunkt mit einer anderen Farbe bemale, aber erstens, habe ich an der Stelle eine Einkerbung, und zweitens, wenn das Bild diese Farbe nutzt, sieht es auch nicht toll aus.

Und das mit sich 'in die Paint-Routine reinhängen' ist mir zu hoch.

Andere native Delphi-Objekte bringen mir nichts, das sie wiederum auch eingeschränkt sind, und für so eine kleinigkeit will ich keine Fremdkomponenten nutzen.

Nachtrag:
Die Transparenz wird ja automatisch auf das ganze Bitmap dur die Farbe des linken-unteren Bildpunktes gesetzt.
Bei dem Image-Objekt kann man das abstellen, aber bei BitBtn halt nicht.

Meinst du, das Canvas des BitBtn zu bemalen, und nicht das Bitmap selber?

Was wie vererbt wird kann ich dir nicht sagen, denn von dem was ich mache, habe ich keinen Dunst.
GPL = Greatest Pest License !!!

Geändert von Nixsager ( 8. Mai 2021 um 13:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 13:12
Wie wäre es mit einem Update auf aktuelle Delphi-Versionen?
U.u. könnte sich diese Einschränkung mit einer aktuellen 10.4 erledigt haben.
Da liegen doch Welten dazwischen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 13:15
Ach du meinst die Transparenz des Images im Button
und nicht eine Transparenz des Buttons selber?

Ja, das mit dem Pixel und der Transparenzfarbe, dass ist halt so.
Steht sogar in der Doku, dass dieses Pixel genommen wird, für die TransparenzFarbe. (ein Color-Property wäre natürlich schöner)


GIF, PNG oder "BITMAP mit AlphaKanal" wird dein altes Delphi dort nicht verwenden können, wo die Transparenz im Bild gespeichert ist und von da verwendet wird.


Man kann natürlich ins Paint des Buttons eingreifen (quasi ein CustomDraw verwenden), den Button selber zeichnen und dort das Image malen, wie man will.
$2B or not $2B

Geändert von himitsu ( 8. Mai 2021 um 13:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 13:18
Ein TButton mit einer TImageList verwendet die Transparenz, wie in der ImageList definiert, während das Bild dort eingefügt wurde.
Da kann man dann eine andere Farbe wählen, damit die Transparenz weg ist. (ja, per Default wird dort bei Bitmaps auch dieses Pixel genommen, um die Vorauswahl der Transparenzfarbe zu bestimmen)
$2B or not $2B

Geändert von himitsu ( 8. Mai 2021 um 13:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 13:22
Wäre es nicht viel einfacher das Bild in einem Bild-Editor zu öffnen, Alpha-Kanal löschen oder eben den punkt in der Ecke, Bild speichern, Fertig?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Nixsager

Registriert seit: 15. Aug 2012
13 Beiträge
 
Delphi 7 Personal
 
#10

AW: BitBtn ohne transparenz nutzen

  Alt 8. Mai 2021, 13:30
Muss ich mal ausbrobieren.

Daran habe ich nicht gedacht, da ich ja nur das Bild von dem BitBtn ändern will.

Aber ist das für das was ich haben will nicht eigendlich überladen?

Danke für die Idee.

Im moment hat der Bildpunkt für die Transparenz die Farbe aus clBtnFace bekommen, damit ist man was das sichbare betrifft wohl auf der sicheren Seite, da diese Farbe ja eh schon der Hintergund ist,

@KodeZwerg
Das Bild ja ja keinen Alphakanal.
Ich bearbeite es direkt, und die Transparenz wird ja durch den genannte Bildpunkt bestimmt.
GPL = Greatest Pest License !!!
  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 11:52 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