![]() |
Farben mischen
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 |
Re: Farben mischen
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 |
Re: Farben mischen
bei RGB wird das Mittel der einzelnen Farbwerte genommen.
für HSL hab ich keine Erklärung, bzw kenn ich das Verfahren nicht. |
Re: Farben mischen
Hallo und Danke für die Antworten.
Ich hätte nicht gedacht, dass es so einfach durch RGB zu berechnen ist :shock: (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); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 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