Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Complementär Farbe ermitteln
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2358

Themenstarter:

Complementär Farbe ermitteln

beantworten | zitieren | melden

Hallo,

gibt es eine Möglichkeit Programmgesteuert die Complimentärfarbe einer vorgegebenen Farbe zu ermitteln?
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
Lector
myCSharp.de - Member



Dabei seit:
Beiträge: 870

beantworten | zitieren | melden

Ich hab zwar nur den WIKI-Artikel http://de.wikipedia.org/wiki/Komplement%C3%A4rfarbe überflogen aber auf den Ersten Blick würde ich sagen
R = 255-R;
G = 255-G;
B = 255-B;
Das würde allerdings auch bedeuten dass ein mittleres Grau die Komplementärfarbe von sich selbst ist.
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1043

beantworten | zitieren | melden

Hallo inflames2k,

verwende den HSV-Farbraum und setze H auf (H + 180) % 180. Dadurch gehst du den halben Farbkreis, der Farbhöhen von 0° bis 360° beschreibt, weiter und landest gegenüber bei der Komplementärfarbe.
gfoidl hat hier im Forum ein tolles Snippet zur Konvertierung zwischen (u.a.) den Farbräumen RGB und HSV veröffentlicht: Farbkonvertierung RGB <-> HSV und RGB <-> CIE-Lab

Hier ein Auszug aus einem älteren Projekt XColor von mir:

using System.Drawing;
using XColor.Model;

namespace XColor.Business
{
    /// <summary>
    /// Represents a color filter that converts a given color to its complementary one.
    /// </summary>
    public class ComplementaryFilter : IColorFilter
    {
        /// <summary>
        /// Applies the filter to the specified color.
        /// </summary>
        /// <param name="rgbColor">The specified color.</param>
        /// <returns>The resulting complementary color.</returns>
        public RgbColor Apply(RgbColor rgbColor)
        {
            HsvColor hsvColor = (HsvColor)rgbColor;
            HsvColor complementaryColor = new HsvColor((hsvColor.H + 180) % 360, hsvColor.S, hsvColor.V);
            
            return complementaryColor;
        }
    }
}

m0rius
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von m0rius am .
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2358

Themenstarter:

beantworten | zitieren | melden

Ok, werd mir das mal mit dem HSV-Farbraum ansehen, ansonsten ist es ja auch nicht weiter kompliziert die eigentliche Farbe zu nutzen und die Farbwerte zu berechnen. - Die Methode wäre dann ja nicht so groß.
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2118
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

[Offtopic]
@Lector: Ganz so einfach ist das nicht. Invertierte Farbe != Komplementärfarbe. Zu Komplementärfarben gibt es auf Photoshop Turoials einen guten Beitrag: Simple Practical Color Theory
[/Offtopic]
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2358

Themenstarter:

beantworten | zitieren | melden

Hallo Frisch,

in einem anderen Forum hab ich gerade unter google Suchbegriff "Komplementärfarbe berechnen" aber genau den gleichen Ansatz gefunden mit der Begründung, dass Farbe + Komplementärfarbe = Weiß und somit der Umkehrschluss Weiß - Farbe = Komplementärfarbe ist.
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2118
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

Hallo inflames2k,

ja stimmt, bei einfachen Komplementärfarben ist das wohl so. Habe mich verwirren lassen weil ich zuerst an Farbharmonien gedacht habe sorry. Dazu gibts aber in den von mir geposteten Link unter "Color Harmonies" schöne Beispiele für die verschiedenen Farben. Falls es dir um Design geht kannst du dir das ja mal anschauen.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2358

Themenstarter:

beantworten | zitieren | melden

Ich denke mal, dass es um das Design geht. - Hab mir das auch schon angeschaut. :)
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers