cColor: Color-Klasse

    • VB6

      cColor: Color-Klasse

      Hi!

      Hab ne Klasse (+ Modul) verfasst, die das Abmischen, Speichern und Verwenden von Farben erleichtern soll.
      Fehler und so natürlich melden, bin noch nicht dazu gekommen alles ausgiebig zu testen :(
      Sollte sich was ändern (was dazu kommen), dann poste ich die neue Version hier.
      Achtung: Überläufe werden nicht abgefangen!

      Ingegration:
      Archiv entpacken, die 2 Dateien (cColor.cls, modColor.bas) dem Projekt hinzufügen.

      Verwendung:
      Entweder mit
      Dim myColor as new cColor
      myColor.SetColor Mode, R, G, B, A
      die Klasse Instanzieren und eine Farbe zuweisen,
      oder die Klasse mit Hilfe des Modules instanzieren. z.B.
      Dim myColor as cColor : Set myColor = NewRGBAColor(R, G, B, A)
      oder
      Dim myColor as cColor : Set myColor = CloneColor(myOtherColor)

      Um die Farben in VB verwenden zu können, verwendet man die RGB-Eigenschaft. Wenn man den Farbwert mit Alpha speichern will, verwendet man die RGBA-Eigenschaft. Das ganze geht natürlich auch in die andere Richtung.
      Picturebox1.BackColor = myColor.RGB
      myLong = myColor.RGBA
      myColor.RGB = Me.BackColor


      Die Funktionen im Modul sind hoffentlich selbstverständlich. Die Methoden in der Klasse sind englisch Dokumentiert (Kommentare darüber).
      Bei Fragen, einfach hier stellen.

      Mischen:
      Fürs Mischen gibts 2 Modi mit je 2 Methoden. Der eine, Mix, mischt die Farben anhand eines Verhältnisses (optional auch den Alphawert), der andere, Blend, legt 2 Farben übereinander, optional mit anderem Alphawert. Das Ergebnis wird in der Variable gespeichert, in der die Methode aufgerufen wurde. Die eine Methode mischt 2 "fremde" Farben, die andere mischt die eigene mit einer "fremden" Farbe.
      Achtung: Ratio ist ein Wert zwischen 0 und 1 (Double), Alpha ist ein Wert zwischen 0 und 255 (Byte).

      ColorPointer:
      Für die Verwendung von CopyMemory / RTLMoveMemory gibts noch eine ReadOnly-Propery ColorPointer. Der ColorPointer zeigt auf den ersten Farbwert. Folgende Codes kopieren RGB (1.) und RGBA (2.) in eine Variable Target:
      CopyMemory Target, byval myColor.ColorPointer, 3
      CopyMemory Target, byval myColor.ColorPointer, 4


      Download:
      cColor.7z (7zip, 1.93kB)
      cColor.zip (Zip, 2.19kB)