AGB  ·  Datenschutz  ·  Impressum  







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

Farben mischen

Ein Thema von blackdrake · begonnen am 8. Aug 2006 · letzter Beitrag vom 8. Aug 2006
Antwort Antwort
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

Farben mischen

  Alt 8. Aug 2006, 16:25
Hallo.

Ich suche eine Funktion, die 2 Farben in einem Verhältnis zueinander mischt.

Ich habe in Jasc Paintshop Pro mal 2 Farben übereinandergelegt (die obere zu 50% Transparent) und habe folgendes Ergebnis erhalten:

RGB(185, 175, 13) x RGB(251, 109, 109) = RGB(217, 142, 60)
HSL(40, 222, 99) x HSL(255, 241, 180) = HSL(22, 172, 139)

Ich konnte daraus aber keinen Rechenweg finden...

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Farben mischen

  Alt 8. Aug 2006, 16:30
Kommt nich ganz genau hin... könnte aber auch daran liegen das es nich ganz genau 50% waren
(R1 + R2) div 2 = neuer R Wert
(G1 + G2) div 2 = neuer G Wert
(B1 + B2) div 2 = neuer B Wert

Greetz
Boombuler
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Farben mischen

  Alt 8. Aug 2006, 16:35
bei RGB wird das Mittel der einzelnen Farbwerte genommen.

für HSL hab ich keine Erklärung, bzw kenn ich das Verfahren nicht.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Farben mischen

  Alt 8. Aug 2006, 16:45
Hallo und Danke für die Antworten.

Ich hätte nicht gedacht, dass es so einfach durch RGB zu berechnen ist (HSL ist ja durch RGB abzuleiten)

Die Form für ein beliebiges Verhältnis ist dann

Delphi-Quellcode:
verhaeltnis := 0.33; // 33% zu 77%
r := round(verhaeltnis * getrvalue(color1.Color) + (1-verhaeltnis)*getrvalue(color2.Color));
g := round(verhaeltnis * getgvalue(color1.Color) + (1-verhaeltnis)*getgvalue(color2.Color));
b := round(verhaeltnis * getbvalue(color1.Color) + (1-verhaeltnis)*getbvalue(color2.Color));

mixedcolor.Color := rgb(r, g, b);
Daniel Marschall
  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:16 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