***FRAG** Geschrieben 1. Juli 2003 Geschrieben 1. Juli 2003 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 Zitieren
Pinhead Geschrieben 1. Juli 2003 Geschrieben 1. Juli 2003 Schau doch mal bei www.tutorials.de Da müsstest du eigentlich was brauchbares finden. Zitieren
***FRAG** Geschrieben 1. Juli 2003 Autor Geschrieben 1. Juli 2003 Also Du als mein Arbeitskollege solltest eigentlich wissen, dass die www.tutorials.de Site bei uns auf Arbeit gesperrt ist. Wäre ganz nett wenn mal jemand ne ernsthafte Hilfe posted. Oder von mir aus auch von www.tutorials.de den passenden Code hier reinposted. Danke Zitieren
Gast Geschrieben 2. Juli 2003 Geschrieben 2. Juli 2003 Das Objekt CommonDialog hat die Methode .ShowColor. Schau mal ob Dir das vielleicht weiterhilft. Zitieren
Fallin Geschrieben 2. Juli 2003 Geschrieben 2. Juli 2003 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, Next cStart.Caption = Str(i + 1) & "/255 ": cStart.Refresh Next cStart.Caption = "&Starten" cStart.Enabled = True End Sub Zitieren
***FRAG** Geschrieben 2. Juli 2003 Autor Geschrieben 2. Juli 2003 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. Zitieren
Empfohlene Beiträge
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.