Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Multimedia

k23:k23.1:k23.1.2:start

23.1.2 Klasse ColorInfo

Die Klasse ColorInfo (gb.image) präsentiert u.a. detaillierte Informationen zu einer Farbe. Die Klasse verfügt über die Eigenschaften Alpha, Color, Red, Green, Blue, Hue, Saturation und Value, die Sie auslesen oder setzen können. Der Datentyp für alle Eigenschaften ist Integer.

23.1.2.1 Eigenschaften

In der folgenden Tabelle werden die o.a. Eigenschaften der Klasse beschrieben:

ColorInfoIntervallBeschreibung
Alpha0..255Legt den Alpha-Wert fest oder gibt den Wert zurück.
Color 0..256³-1Legt den vollständigen Farb-Wert des ColorInfo-Objekts fest oder gibt den Wert zurück.
Red0..255Legt den Rot-Anteil der Farbe fest oder gibt den Wert zurück → RGB-Farbraum
Green0..255Legt den Grün-Anteil der Farbe fest oder gibt den Wert zurück → RGB-Farbraum
Blue0..255Legt den Blau-Anteil der Farbe fest oder gibt den Wert zurück → RGB-Farbraum
Hue0..359Legt den Farbton-Anteil der Farbe fest oder gibt den Wert zurück → HSV-Farbraum
Saturation0..255Legt den Anteil der Sättigung der Farbe fest oder gibt den Wert zurück → HSV-Farbraum
Value0..255Legt den Helligkeit-Anteil der Farbe fest oder gibt den Wert zurück → HSV-Farbraum

Tabelle 23.1.2.1.1 : Eigenschaften Klasse ColorInfo (gb.image)

23.1.2.2 Beispiele

Sie bekommen für eine beliebige Farbe iColor mit

Color[iColor] 

ein ColorInfo-Objekt, von welchem Sie einerseits die RGB- und HSV-Informationen des verwendeten Farbraums sowie den Wert für den Alpha-Kanal auslesen können oder andererseits die RGB- und HSV-Farbanteile setzen. Anschließend müssen Sie die geänderte Farbe aus den Farb-Anteilen generieren, wobei die nicht geänderten Farb-Anteile entweder mit Color[iColor].Green und Color[iColor].Blue oder mit hColorInfo.Green und hColorInfo.Blue ausgelesen und übernommen werden:

Public Sub btnColorChange_Click()
  Dim iColor As Integer
  Dim hColorInfo As ColorInfo
 
  iColor = CChooser1.SelectedColor ' Synonym für CChooser1.SelectedColor ist CChooser1.Value
  hColorInfo = Color[iColor] ' Ein ColorInfo-Objekt wird zurückgegeben
' Print Color[iColor].Red ' Rot-Farbanteil auslesen mit dem []-Operator
' Print hColorInfo.Red ' Rot-Farbanteil auslesen (Alternative)
  hColorInfo.Red = 180 ' Rot-Farbanteil ändern
  hColorInfo.Alpha = 140 ' Alpha-Wert ändern 
' Print hColorInfo.Red ' Aktuellen Rot-Farbanteil auslesen
' Print hColorInfo.Alpha ' Aktuellen Alpha-Wert auslesen
  CChooser1.Value = Color.RGB(hColorInfo.Red, Color[iColor].Green, hColorInfo.Blue, hColorInfo.Alpha)
' Gute Alternative:
' CChooser1.Value = hColorInfo.Color
 
End ' btnColorChange_Click()

Hinweis:
Die komplexen Methoden SetRGB(..) und SetHSV(..) der Klasse Color (gb.image) – mit deren Hilfe Sie den RGB(A)-Farbanteil oder HSV(A)-Farbanteil für jede Farbe einzeln(!) ändern – sind schneller und deshalb vorzuziehen:

Public Sub btnSetRGB_Click()
  Dim iColor As Integer
 
  iColor = CChooser1.SelectedColor  
  CChooser1.SelectedColor = Color.SetRGB(iColor, 180, Color[iColor].Green, Color[iColor].Blue, 140)
 
End ' btnSetRGB_Click()

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k23/k23.1/k23.1.2/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge