vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: nächste bekannte Farbe ermitteln 
Autor: Kuno60
Datum: 21.02.19 02:10

Hier eine einfache Variante, die recht gute Ergebnisse liefert.
Mit ReadKnownColors werden zunächst alle bekannten Farben in die ColorList eingetragen.
Mit GetNearestKnownColor werden die RGB-Werte verglichen und die Farbe mit der geringsten Differenz wird zurück gegeben.

  Dim ColorList As New List(Of Color)
 
  'Alle bekannten Farben in die ColorList eintragen.
  Sub ReadKnownColors()
    For Each k As KnownColor In [Enum].GetValues(GetType(KnownColor))
      Dim c As Color = Color.FromKnownColor(k)
      If Not c.IsSystemColor Then
        ColorList.Add(c)
      End If
    Next
  End Sub
 
  'Liefert die am nähesten bekannte Farbe.
  Function GetNearestKnownColor(col As Color) As Color
    If ColorList.Count = 0 Then Return Nothing
    Dim r, g, b As Integer
    r = col.R : g = col.G : b = col.B
 
    Dim Q = From c In ColorList
            Let diff = Math.Abs(c.R - r) + Math.Abs(c.G - g) + Math.Abs(c.B - b)
            Order By diff
            Select c
 
    Return Q.First
  End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
nächste bekannte Farbe ermitteln740Bazi20.02.19 15:54
Re: nächste bekannte Farbe ermitteln385Manfred X20.02.19 17:26
Re: nächste bekannte Farbe ermitteln340Kuno6021.02.19 02:10
Re: nächste bekannte Farbe ermitteln329Bazi21.02.19 10:13

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel