AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TPNGImage - Alphachannel in Bitmap anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

TPNGImage - Alphachannel in Bitmap anzeigen

Ein Thema von turboPASCAL · begonnen am 22. Apr 2006 · letzter Beitrag vom 19. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#11

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 18. Jan 2008, 14:40
Das Bild ist doch absolut korrekt. Ein Alphakanal ist 1 (bzw. 255) für sichtbar und 0 für unsichtbar. Wenn du den Wert direkt als Helligkeit verwendest, hast du also weiß für sichtbar und schwarz für unsichtbar. Und genau das zeigt dein Bild doch.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#12

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 18. Jan 2008, 15:03
Zitat von Spes:
Gibt es (mitterlweile) irgendeine native oder elegantere Möglichkeit PNGs samt Transparenz auf VCL-Komponenten abzubilden?
  VCLComponentenCanvas.Draw(0, 0, DeinPiNGImage); Oder was?
  Mit Zitat antworten Zitat
Spes

Registriert seit: 21. Aug 2007
14 Beiträge
 
#13

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 18. Jan 2008, 18:00
Hi ihr beiden,

vielen Dank für die Hinweise. Vielleicht verstehe ich die Alphatransparenz noch nicht so ganz.
Ich habe mittlerweile folgendes - komplexeres - Bild (der Hintergrund ist eigentlich transparent; das Pink dient hier nur der Veranschaulichung):
http://www.andreaswortmann.de/temp/test3.png
Die Transparenz bei PNGs erlaubt mir doch eigentlich für jedes Pixel anzugeben, wie transparent dieses sein soll (eben von 0 (garnicht) bis 255 (vollständig transparent)). Dieses benötige ich um 'weiche' Ränder entlang der Grafik zu erhalten.

Binde ich die Grafik jetzt wie folgt ein:
Code:
PNG := TPNGObject . Create ;
PNG . LoadFromFile ( 'test3.png' ) ;
Image . Canvas . Draw ( 0 , 0 , PNG ) ;
wird der Hintergrund nicht transparent, sondern weiß.

Geht das überhaupt, oder kann ich nur diese binäre ja/nein Transparenz verwenden?

Entschuldigt bitte, falls ich mich unverständlich ausgedrückt habe. Ich stehe da seid zwei Tagen total auf dem Schlauch.

Danke im Voraus,
Spes
  Mit Zitat antworten Zitat
Spes

Registriert seit: 21. Aug 2007
14 Beiträge
 
#14

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 18. Jan 2008, 21:07
Hi nochmal,

dank der von SirThornberry in diesem Thread geposteten Lösung, hat sich mein Problem erledigt.

Vielen Dank für eure Hinweise.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#15

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 18. Jan 2008, 21:29
Zitat von Spes:
Binde ich die Grafik jetzt wie folgt ein:
Code:
PNG := TPNGObject . Create ;
PNG . LoadFromFile ( 'test3.png' ) ;
Image . Canvas . Draw ( 0 , 0 , PNG ) ;
wird der Hintergrund nicht transparent, sondern weiß.
Logisch. Du malst das PiNG Image auf ein Bitmap und das hat grundsätzlich erstmal einen weißen Hintergrund. Bereite das Bitmap auf das du zeichnest entsprechend vor, damit dann die PiNG Transparenz beim zeichnen dort eingerechnet wird.

Zitat von Spes:
dank der von SirThornberry in diesem Thread geposteten Lösung, hat sich mein Problem erledigt.
Dort wird nichts anderes gemacht, als das PiNG direkt im Image zu belassen. Aber das wäre genau das gleiche als wenn du dir das Image auf die Form packst und über den Objektinspektor das PiNG Image lädst. Oder du benutzt das LoadFromFile() von TPicture, welches dann auch die passende GraphicInstanz suchen & instanziieren sollte.
  Mit Zitat antworten Zitat
Spes

Registriert seit: 21. Aug 2007
14 Beiträge
 
#16

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 19. Jan 2008, 20:49
Zitat von Muetze1:
Bereite das Bitmap auf das du zeichnest entsprechend vor
Wie meinst du das?
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#17

Re: TPNGImage - Alphachannel in Bitmap anzeigen

  Alt 19. Jan 2008, 21:16
Na bringe den von dir gewünschten Hintergrund auf das Bitmap, weil anscheinend gefällt dir der weiße Bitmap-Standard-Hintergrund nicht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:36 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