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
Seite 1 von 2  1 2      
holgerderchsler

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

PRGBTripleArray

  Alt 14. Apr 2016, 18:57
Hallo.

Ich habe einige Beiträge über Pixeloptimierung und Farben gelesen und als VCL Code auch problemlos umsetzen können. Nun ist meine Aufgabe, dies in einer FMX Umgebung zu programmieren und da fehlen mir schlicht Beispiele und Erfahrung. wie kann man zum Beispiel aus einem Image das in ein Bitmap umgewandelt wurde die einzelnen Farben auslesen und manipulieren?

Bin um jede Hilfe dankbar.

Liebe Grüsse Holger
Holger
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: PRGBTripleArray

  Alt 14. Apr 2016, 19:04
Schau mal unter Delphi-Referenz durchsuchenTBitmapSurface
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 15. Apr 2016, 09:37
Super, danke
Holger
  Mit Zitat antworten Zitat
holgerderchsler

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

AW: PRGBTripleArray

  Alt 15. Apr 2016, 16:21
So, habe mir das mal angesehen mit den FMX.Surface und ein paar Funktionen ausprobiert, klappt auch. Was ich allerdings brauche sind die einzelnen Farbkanäle RGB um genau eine oder mehrere dieser Anteile zu ändern.

Holger
Holger
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: PRGBTripleArray

  Alt 15. Apr 2016, 16:28
Was ist deine konkrete Frage?
Was hast du denn bisher an Quelltext und wo genau scheitert es denn?
  Mit Zitat antworten Zitat
holgerderchsler

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

AW: PRGBTripleArray

  Alt 15. Apr 2016, 19:20
Ich muss bei meiner Anwendung die Subpixel eines Pixels ansprechen, die in die drei Farben rot, grün und blau unterteilt sind. Ich muss dann pro Pixel eine oder zwei Farben transparent machen. Die Anwendung ist komplex und soll schlussendlich einen 3D Monitor mit Prismentechnik ansteuern, der ohne Brille ein echtes 3D Bild anzeigt.
Holger
  Mit Zitat antworten Zitat
holgerderchsler

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

AW: PRGBTripleArray

  Alt 15. Apr 2016, 19:21
mit shader ist das Problem wohl lösbar
Holger
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#8

AW: PRGBTripleArray

  Alt 15. Apr 2016, 20: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
 
#9

AW: PRGBTripleArray

  Alt 16. Apr 2016, 03: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
 
#10

AW: PRGBTripleArray

  Alt 17. Apr 2016, 11: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
Antwort Antwort
Seite 1 von 2  1 2      


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 21:42 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