AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PRGBTripleArray

Ein Thema von holgerderchsler · begonnen am 14. Apr 2016 · letzter Beitrag vom 17. Apr 2016
Antwort Antwort
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#1

AW: PRGBTripleArray

  Alt 15. Apr 2016, 19:02
die Subpixel eines Pixels [..], die in die drei Farben [..] unterteilt sind
Die Aussage macht so keinen Sinn. Als Subpixel bezeichnet man es i.A., wenn man genauer als mit der ganzzahligen Pixel-Genauigkeit arbeitet. So ist z.B. (1,2; 2,8) ein Subpixel irgendwo zwischen (1;2) und (2;3). Was du vermutlich meinst nennt sich "Kanäle", oder genauer "Farbkanäle".* In diesem Zusammenhang werden auch nicht "Farben transparent gemacht", sondern es wird höchstens von der Farbe abhängig der Alphakanal versorgt.
Nenn mich einen Pedanten, aber ich finde gerade in der Informatik ist eine möglichst genaue Nomenklatur unverzichtbar.

*) Nun kann es, abhängig von der physischen Realisierung des konkreten Monitors her, natürlich sein, dass die 3 Farben in einer Schlitzmaske nebeneinander pro Pixel angelegt sind, und eine Farbe somit gleichzeitig einen Subpixel der Breite 1/3 ausmacht. Aber das ist a) nicht immer der Fall (und bei LCD-Bildschirmen auch recht unüblich, da hier meist die 3 Farben übereinander liegen), und b) für ein Programm im Rahmen von Delphi zunächst völlig transparent, und bestenfalls eine implizite Interpretation der Farbwerte durch den konkreten Monitor, der damit nicht dem zu erwartenden Standard angehört.

Daher nochmals: Was genau willst du erreichen, und was genau ist deine Ausgangssituation?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
holgerderchsler

Registriert seit: 30. Dez 2009
Ort: Zürich
23 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: PRGBTripleArray

  Alt 16. Apr 2016, 02:41
Ich denke das Problem ist nicht die Bezeichnung (Der Begriff Subpixel wird in der Anleitung des Monitors verwendet). Und es ist logisch, dass es sich hier nicht um einen normalen Monitor handelt, ich sagte ja das er mit Prismen also optischen Filtern arbeitet. Schlussendlich sollen getrennte Bilder für das Rechte und linke Auge simultan dargestellt werden. Zu diesem Zweck müssen bei einigen Pixeln entweder eine oder zwei Farbkanäle aus dem RGB verdeckt, entfernt oder transparent gemacht werden. Genau diese Farbe ist nämlich dann dem jeweils anderem Auge zugeteilt.

Ich hoffe diese Frage ist nun klarer.

Liebe Grüsse Holger

PS. Und danke an alle, die sich meines Problems überhaupt annehmen..
Holger
  Mit Zitat antworten Zitat
holgerderchsler

Registriert seit: 30. Dez 2009
Ort: Zürich
23 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: PRGBTripleArray

  Alt 17. Apr 2016, 10:40
So, habe das Problem gelöst.

farbe := ModifiedData.GetPixel(X,Y);

txt1 := IntToHex(farbe,8); // Ausgangsfarbe
txt2 := Copy(txt1,1,2); // Alpha
txt3 := Copy(txt1,3,2); // ROT
txt4 := Copy(txt1,5,2); // GRUEN
txt5 := Copy(txt1,7,2); // BLAU


Der Rest ist auch nicht schwer.

txt6 := '$' + txt2 + txt3 + txt4 + '00'; // hier kann ich jede einzelne Farbe entfernen

ModifiedData.SetPixel(X, Y,StringToColor(txt6));

Wenn es eine schnellere Variante gibt, wäre ich dafür aufgeschlossen.

Liebe Grüsse Holger
Holger
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.175 Beiträge
 
Delphi 12 Athens
 
#4

AW: PRGBTripleArray

  Alt 17. Apr 2016, 11:17
Die einfachere und schnellere Lösung wäre hier.
Das über Strings zu machen würde ich wirklich nicht empfehlen, wenn es schnell sein soll.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#5

AW: PRGBTripleArray

  Alt 17. Apr 2016, 11:45
Wäre es über Delphi-Referenz durchsuchenTAlphaColorRec nicht noch simpler? Da kann man über die Felder A, R, G und B direkt auf die Farbkanäle zugreifen und muss nicht von Hand Bits schupsen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.175 Beiträge
 
Delphi 12 Athens
 
#6

AW: PRGBTripleArray

  Alt 17. Apr 2016, 12:26
TAlphaColorRec ist nicht unter VCL, nur FMX, oder irre ich mich ?

Aber ja, da könnte man nachsehen wie es effektiv gemacht werden kann.

EDIT:
Ok, sorry. Ich sehe gerade du willst es ja für FMX machen.
Dann +1 für DeddyH



Rollo
  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 13:11 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