Я делаю простой редактор изображений в VB.NET, и одной из функций является яркость/экспозиция.
вот как я это делаю:
For i = 0 To img.Width - 1
For j = 0 To img.Height - 1
Dim s As Color = img.GetPixel(i, j)
Dim r As Integer = s.R * 2
Dim g As Integer = s.G * 2
Dim b As Integer = s.B * 2
If s.R * 2 > 255 Then
r = 255
End If
If s.G * 2 > 255 Then
g = 255
End If
If s.B * 2 > 255 Then
b = 255
End If
Dim x As Color = Color.FromArgb(255, r, g, b)
img.SetPixel(i, j, x)
Next
Next
где 2 — яркость, которая делает его в два раза ярче.
Единственная проблема в том, что это не работает хорошо, потому что это работает, но занимает около 30 секунд! Что я делаю не так? есть ли лучший способ реализовать это?
Спасибо