AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PNG mit Alphakanal auf Transparente Form/Canvas
Thema durchsuchen
Ansicht
Themen-Optionen

PNG mit Alphakanal auf Transparente Form/Canvas

Ein Thema von Memnarch · begonnen am 14. Jan 2011 · letzter Beitrag vom 15. Jan 2011
Antwort Antwort
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#1

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 14. Jan 2011, 10:58
Hallo,

dafür gibt es die Function MSDN-Library durchsuchenUpdateLayeredWindow. Ein Tutorial, wie Du das mit PNGs umsetzen kannst, findest Du in meinem Tutorial Splashscreens.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#2

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 14. Jan 2011, 12:55
Danke für die Antwiort
Aber war es nicht so das UpdateLayeredWindow kein runtime perpixel alpha unterstützt sondern nur premultiplied?

MFG
Memnarch
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#3

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 14. Jan 2011, 13:02
Hallo,

ja, Du kannst die Alphawerte nicht mehr nachträglich ändern. Wenn Du das machen willst, musst Du jedesmal Dein PNG ändern und erneut UpdateLayeredWindow aufrufen.
Außerdem gibt es noch die Einschränkung, dass auf einem solchen Fenster Controls nicht funktionieren.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 14. Jan 2011, 13:43
http://www.delphipraxis.net/155412-gdiclock-v1-4-a.html
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 14. Jan 2011, 14:06
@Xaromath: Aber UpDateLayer window nimt den Alpha wert aus dem Alphachannel der PNG den ich z.B in Gimp habe ohne zusätzlichen hokuspokus?(dachte ich hätte da woanders was anderes gelesen, vonwegen zusätzlicher bitmask etc)

Und was die komponennten angeht: Ich brauche nur das perpixelalpha Png auf dem screen^^.

@Bummi: Danke, werde ich mir auch angucken.

EDIT: Ach kann man bei dem ersten beispiel über layerd die bitmap auch stretchen? also eine form nehmen die etwas größer ist und die bitmap trotzdem alles abdecken lassen?

MFG
Memnarch

Geändert von Memnarch (14. Jan 2011 um 15:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#6

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 15. Jan 2011, 16:56
@Xaromnz: Dein Tutorial war sehr hilfreich
Aber eine Frage hätte ich da noch. Du Sagtest du hättest die GDI+ Bibliothek von Prodgidy leicht verändert. Was wurde den verändert?


MFG
Memnarch
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#7

AW: PNG mit Alphakanal auf Transparente Form/Canvas

  Alt 15. Jan 2011, 17:22
Hallo,

eigentlich hab ich die Bibliotheken nur etwas erweitert, z. B. um eine Methode zum Zeichnen abgerundeter Ecken.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  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 12:22 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