Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ein Bild mit einer Farbe multiplizieren? (https://www.delphipraxis.net/107175-ein-bild-mit-einer-farbe-multiplizieren.html)

Cyberstorm 23. Jan 2008 18:40


Ein Bild mit einer Farbe multiplizieren?
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo.

ich möchte ein bild (tbitmap) mit einer farbe einfärben.

ich möchte sie aber nicht überblenden, sondern mit einem variablen faktor "multiplizieren".
also in diversen bildbearbeitungsprogrammen gibt es ja verschiedene modi, um bilder "übereinanderzupacken".

wie funktioniert rechnerisch multiplizieren bei einem bild?


wennich zum beispiel das nachfolgende bild miteinem grünton mischen will,
überblendeich esim moment nur (bild2) ich will aber (bild3) errechnen.

das ist der selbe farblayer (in bild2 und 3) mit 50%(soll im programm der faktor sein) transparenz nur einmal in photoshop mit "norma" und einmal mit "multiplizieren":

beim multiplizieren bleibt übrigens auch bei 100% noch was vom original übrig, beim normalen überblenden natürlich nur noch komplett die grüne farbe...

[edit=SirThornberry]Bilder in Anhang gepackt - Mfg, SirThornberry[/edit]

Larsi 23. Jan 2008 18:58

Re: Ein Bild mit einer Farbe multiplizieren?
 
kannste nicht über das original bitmap n neues drauftun was leicht transparent ist. das zweite hat dann zum beispiel die farbe grün. wenn du was ganz anderes gemeint hast, sry! :)

Die Muhkuh 23. Jan 2008 19:06

Re: Ein Bild mit einer Farbe multiplizieren?
 
Da steht doch, was er möchte. Die Farben multiplizieren und nichts transparent machen...

Larsi 23. Jan 2008 19:08

Re: Ein Bild mit einer Farbe multiplizieren?
 
und warum macht dass was ch jetzt gemacht habe was anderes als das multiplizieren?

Cyberstorm 23. Jan 2008 19:10

Re: Ein Bild mit einer Farbe multiplizieren?
 
sieh dir doch mal die beiden bilder an (normal und multiplizieren) dann enddeckst du sicherlich auch einen unterschied...

Die Muhkuh 23. Jan 2008 19:10

Re: Ein Bild mit einer Farbe multiplizieren?
 
Weil dann das raus kommt, was oben bei "normal" steht.

Namenloser 23. Jan 2008 19:12

Re: Ein Bild mit einer Farbe multiplizieren?
 
Weil es etwas anderes ist, wenn man eine Farbe transparent dazu rechnet (Farbe1*(1-transparenz)+farbe2*transparenz), oder Farbe1*Farbe2.

DeddyH 23. Jan 2008 19:13

Re: Ein Bild mit einer Farbe multiplizieren?
 
Ich gebe mal einen Link weiter, den heute morgen jemand gepostet hat (weiß nur leider gerade nicht mehr, wer :oops: ): http://www.aggpas.org/

Corpsman 23. Jan 2008 19:20

Re: Ein Bild mit einer Farbe multiplizieren?
 
In meinem Raytracer heist Multiplizieren Komponenten weise

D.h.

Orginalfarbe RGB => Trippel ( x,y,z) mit x,y,z in [ 0..1 ]

Dito mit Multiplicant RGB => Tripel ( a,b,c)

dann Neue Farbe = ( x*a*256,y*b*256,z*c*256)

Probier mal das .

So wie ich dich da Verstehe geht dein Wunsch aber mittels +

Neue Farbe = ( (x+a)*256,(y+b)*256,(z+c)*256)

du must die einzelwerte nur noch Begrenzen

also der Art

max(0,Min(255,round((x+a)*255))) ...

Cyberstorm 23. Jan 2008 19:54

Re: Ein Bild mit einer Farbe multiplizieren?
 
hi.

du hast einen raytracer programmiert?
sehr interessant! (ich studiere 3d animation) :-).

vielen dank, werde ich morgen mal ausprobieren, bin jetzt leider nicht mehr zuhause.

im ersten fall kommen doch immer werte über 256 raus (außer bei 0, 0). wie ist das dann zu verstehen?
also wenn da was weis ich 430 herauskommt?
das hat mich auch verwirrt und davon abgehalten die farben einfach zu multiplizieren.

in den anätzen fehlt nur irgendwie der faktor, mit dem ich die ganze geschichte von 0-100% regeln kann?
kannst du mir einen tipp geben, wie das zu implementieren wäre?

liebe grüße
konrad


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.
Seite 1 von 4  1 23     Letzte »    

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