AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi zwei Pixel mit alpha Transparenz kombinieren
Thema durchsuchen
Ansicht
Themen-Optionen

zwei Pixel mit alpha Transparenz kombinieren

Ein Thema von NTcomputer_0 · begonnen am 25. Jun 2009 · letzter Beitrag vom 26. Jun 2009
Antwort Antwort
Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#1

zwei Pixel mit alpha Transparenz kombinieren

  Alt 25. Jun 2009, 11:21
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: TColor32
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?
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: zwei Pixel mit alpha Transparenz kombinieren

  Alt 25. Jun 2009, 14:33
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;
  Mit Zitat antworten Zitat
Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#3

Re: zwei Pixel mit alpha Transparenz kombinieren

  Alt 25. Jun 2009, 16:09
danke für deinen code, das würde mir sehr helfen; nur weiß ich nicht wie ich einzelne Bytes aus einem Longword extrahieren kann...
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: zwei Pixel mit alpha Transparenz kombinieren

  Alt 26. Jun 2009, 08:27
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
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: zwei Pixel mit alpha Transparenz kombinieren

  Alt 26. Jun 2009, 09:06
Hallo,

die Graphics32-Bibliothek stellt in der Unit GR32_Blend die benötigten Hilfsmittel zur Verfügung: Combine und EMMS.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von NTcomputer_0
NTcomputer_0

Registriert seit: 7. Feb 2009
29 Beiträge
 
Delphi 2005 Personal
 
#6

Re: zwei Pixel mit alpha Transparenz kombinieren

  Alt 26. Jun 2009, 16:40
Perfekt, danke euch allen!
klar, TColor32Entry.. naja auch Lesen muss gelernt sein

Ü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
  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 06:31 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