AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia TBitmap.Canvas.Draw erzeugt "ein Loch"
Thema durchsuchen
Ansicht
Themen-Optionen

TBitmap.Canvas.Draw erzeugt "ein Loch"

Ein Thema von Hepdepaddel · begonnen am 16. Mai 2020 · letzter Beitrag vom 20. Mai 2020
Antwort Antwort
Benutzerbild von Hepdepaddel
Hepdepaddel

Registriert seit: 12. Dez 2005
Ort: Bremen
91 Beiträge
 
Delphi 2006 Enterprise
 
#1

AW: TBitmap.Canvas.Draw erzeugt "ein Loch"

  Alt 16. Mai 2020, 17:41
[DELPHI] Bitmap.Canvas.Draw(50, 50, Stamp, 100); // Funktioniert auch ohne Opacity-Angabe nicht
Warum 50 und nicht 0?
Zu Testzwecken. Um den Effekt zu erkennen, habe ich den Vordergrund (Stamp) um 50px verschoben auf das Bitmap gelegt, dann sieht man sehr schön, wie das Bild leicht transparent gegen den Hintergrund verschoben dargestellt wird, aber genau an der Stelle des roten Rechtecks der Hintergrund klar durchscheint.

Würde ich Draw auf 0/0 machen, würde man nur merken, dass aus irgendeinem Grund kein Rechteck da ist. Das könnte auch daran liegen, dass das Vordergrund-Bild gar nicht eingefügt wird. So aber sieht man, dass das restliche Bild um 50px versetzt leicht transparent über den Hintergrund gelegt wird und lediglich an der Stelle des Rechtecks eine "Aussparung" ist, hinter der das Originalbild ohne jede Überlagerung zu sehen ist.
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: TBitmap.Canvas.Draw erzeugt "ein Loch"

  Alt 16. Mai 2020, 20:46
Im Normalfall ist der Hintergrund eines TBitmap schwarz.
Und schwarz ist bei einem PNG nun mal die transparente Farbe versuche doch mal mit FillRect das TBitmap vorher mit einer anderen Farbe zu befüllen.
Wenn du also auf ein PNG Image die Farbe schwarz anwendest wird dieser Bereich halt durchsichtig (ohne Angabe des Alpha Channel)

Bsp: $FF00FF

Geändert von venice2 (16. Mai 2020 um 20:50 Uhr)
  Mit Zitat antworten Zitat
Gyrospeter

Registriert seit: 11. Apr 2019
49 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TBitmap.Canvas.Draw erzeugt "ein Loch"

  Alt 20. Mai 2020, 13:18
Verwendest du als Source Bitmap 32 oder 24 bit?
  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 11:14 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