Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Private Sub CreateColorPallette()
- canDraw_clr_Pallette = False
- Dim midPoint As New Point(bmp_clr_Palette.Width / 2, bmp_clr_Palette.Height / 2)
- Dim maxLength As Double = GetLinearPosDist(New Point(0, 0), midPoint)
- Dim rVal, gVal, bVal As Double
- 'Die Scrollbaren Max ist 100 - gleichbedeutend mit 100%
- If VScrollBar1.Value = 0 And VScrollBar2.Value = 0 And VScrollBar3.Value = 0 Then
- rVal = 255
- gVal = 255
- bVal = 255
- Else
- rVal = (255 / 100) * VScrollBar1.Value
- gVal = (255 / 100) * VScrollBar2.Value
- bVal = (255 / 100) * VScrollBar3.Value
- End If
- 'Nun liegt in den rgbVal die Prozentangabe für die Farbe vor. Diese wird aufgeteilt auf die maxLength
- Dim rStep As Double = rVal / maxLength
- Dim gStep As Double = gVal / maxLength
- Dim bStep As Double = bVal / maxLength
- Dim Distance As Double
- 'Einmal über SetPixel
- Dim bmp As New Bitmap(bmp_clr_Palette.Width, bmp_clr_Palette.Height, PixelFormat.Format24bppRgb)
- For x As Integer = 0 To bmp.Width - 1
- For y As Integer = 0 To bmp.Height - 1
- Distance = GetLinearPosDist(New Point(x, y), midPoint)
- Dim cr As Color = Color.FromArgb(Distance * rStep, Distance * gStep, Distance * bStep)
- bmp.SetPixel(x, y, cr)
- Next
- Next
- bmp_clr_Palette = bmp
- canDraw_clr_Pallette = True
- Me.Invalidate(rct_clr_Pallette)
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement