【发布时间】:2009-08-13 01:46:33
【问题描述】:
我正在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 秒! 我究竟做错了什么?有没有更好的实现方式?
谢谢
【问题讨论】:
标签: vb.net functional-programming brightness