Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Ich möchte eine Farbskala in VB zeichnen lassen, in der hinterher die gewünschte Farbe vom User ausgesucht werden kann. Problem ist nur, dass wenn ich mit 3 Schleifen einfach alle RGB(X,Y,Z) Werte die möglich sind durchlaufen lasse, dann sieht das ganze zeimlich durcheinander aus.

Ich will aber sonen schönen Farbverlauf haben wie das bei den ganzen Bildbearbeitungsprogrammen ist.

Am besten wär ein Code-Beispiel.

Danke

Geschrieben

Das Objekt CommonDialog hat die Methode .ShowColor. Schau mal ob Dir das vielleicht weiterhilft.

Geschrieben

Ich glaube, der Code auf VB-Fun dürfte Dir weiterhelfen.

Falls Du da nicht hinkommen solltes, hier noch mal der Code:

(Du mußt die passenden Steuerelemente in Deinem Formular einbinden..)

Option Explicit

Private Sub cStart_Click()

Dim rl As Long, gl As Long, bl As Long

Dim rr As Long, gr As Long, br As Long

Dim rz As Long, gz As Long, bz As Long

Dim rk As Long, gk As Long, bk As Long

Dim m As Long, i As Long, j As Long

Dim r As Long, g As Long, b As Long

cStart.Enabled = False

m = 255

rl = Abs(Val(tRed(0).Text)) Mod 256

gl = Abs(Val(tGreen(0).Text)) Mod 256

bl = Abs(Val(tBlue(0).Text)) Mod 256

rr = Abs(Val(tRed(1).Text)) Mod 256

gr = Abs(Val(tGreen(1).Text)) Mod 256

br = Abs(Val(tBlue(1).Text)) Mod 256

rz = Abs(Val(tRed(2).Text)) Mod 256

gz = Abs(Val(tGreen(2).Text)) Mod 256

bz = Abs(Val(tBlue(2).Text)) Mod 256

rk = Abs(Val(tRed(3).Text)) Mod 256

gk = Abs(Val(tGreen(3).Text)) Mod 256

bk = Abs(Val(tBlue(3).Text)) Mod 256

For i = 0 To m

For j = 0 To m

r = ((rl * (m - i) / m) + (rr * i / m)) * (m - j) / _

m + ((rz * (m - i) / m) + (rk * i / m)) * j / m

g = ((gl * (m - i) / m) + (gr * i / m)) * (m - j) / _

m + ((gz * (m - i) / m) + (gk * i / m)) * j / m

b = ((bl * (m - i) / m) + (br * i / m)) * (m - j) / _

m + ((bz * (m - i) / m) + (bk * i / m)) * j / m

pic.PSet (i, j), RGB(r, g, B)

Next

cStart.Caption = Str(i + 1) & "/255 ": cStart.Refresh

Next

cStart.Caption = "&Starten"

cStart.Enabled = True

End Sub

Geschrieben

Also die Idee mit dem .ShowColor vom CommonDialog da hätte ich auch selbst drauf kommen können. Ist ja schließlich der gleiche Dialog der auch in Paint angezeigt wird. Den ich pracktisch in einfach versucht habe nachzubilden. Somit kann ich mir die Arbeit natürlich sparen und nehm das CommonDialog ShowColor.

Danke aber auch an Fallin.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...