![]() |
zwei Pixel mit alpha Transparenz kombinieren
Hallo,
ich möchte zwei Pixel deren Farbwerte jeweils in einer TColor32-Variable stecken (aus den Graphics32-Komponenten) miteinander kombinieren, also den vorderen auf den hinteren zeichnen. Nun kenn ich mich mit Pixelwerten usw nicht besonders gut aus, habe aber schon eine Erläuterung der TColor32 gefunden: ![]() Kann mir jemand erklären, wie ich die Variable zerlegen und welche Operationen mit den Ergebnissen durchführen muss, um das gewünschte Ergebnis zu erzielen? |
Re: zwei Pixel mit alpha Transparenz kombinieren
Im Prinzip etwa so:
Code:
Faktor1 := VORN.A / 255;
Faktor2 := 1 - Faktor1; Ziel.R := (VORN.R * Faktor1) + (HINTEN.R * Faktor2); Ziel.G := (VORN.G * Faktor1) + (HINTEN.G * Faktor2); Ziel.B := (VORN.B * Faktor1) + (HINTEN.B * Faktor2); Ziel.A := HINTEN.A; |
Re: zwei Pixel mit alpha Transparenz kombinieren
danke für deinen code, das würde mir sehr helfen; nur weiß ich nicht wie ich einzelne Bytes aus einem Longword extrahieren kann...
|
Re: zwei Pixel mit alpha Transparenz kombinieren
Aber du hast doch selbst den Link mit einem Beispiel gepostet?
TColor32 ist ein Longword, steht gleich in der ersten Zeile. Man kann also wie in dem Beispiel direkt auf TColor32Entry casten.
Delphi-Quellcode:
var
AColor32: Longword; TColor32Entry(AColor32).A |
Re: zwei Pixel mit alpha Transparenz kombinieren
|
Re: zwei Pixel mit alpha Transparenz kombinieren
Perfekt, danke euch allen!
klar, TColor32Entry.. naja auch Lesen muss gelernt sein :roll: Übrigens habe ich nicht die Funktion aus der GR32_Blend genommen, weil die Farbwerte aus meinem Bitmap bereits mit der Transparenz verrechnet waren, und Delphi mir daher immer halbtransparente Pixel mit schönem schwarzen Hintergrund ausgestattet hat :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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