【发布时间】:2012-11-29 21:57:12
【问题描述】:
我想知道如何更正此功能 在我的项目中,
我的计划是
让我的 picBox2 变成位图
从中获取 RGB 像素
然后把它放回一个新的位图中 之后我可以使用这个函数来转换我的图像的颜色
我是这样写的:
For row = 1 To 300
For col = 1 To 300
'MsgBox(row, MsgBoxStyle.YesNo + MsgBoxStyle.Question, "DEBUGSHIT")
PixelColor = BitMapforRGB.GetPixel(row, col)
PixelColor = BitMapforRGB.GetPixel(row, col)
R = (PixelColor.R + vsbRed.Value) * 0.5
G = (PixelColor.G + vsbGreen.Value) * 0.5
B = (PixelColor.B + vsbBlue.Value) * 0.5
Dim newColor As New Color
newColor = Color.FromArgb(R, G, B)
RGBtoBitmap.SetPixel(row, col, newColor)
Next
Next
'I try to change it to
'Dim MyShade As Color = ColorTranslator.FromOle(
' RGB(Red(row,col),Green(row,col),Blue(row,col))
'but it seem not right.
Dim reColor As New Bitmap(Me.pixBox2.Image)
pixBox2.Image = reColor
End Sub
ps:这个错误是 参数必须为正数且
参数名称:y
【问题讨论】:
-
是
RGBtoBitmap.SetPixel(row, col, newColor)行抛出异常吗? -
不,我正在考虑使用不同的方式来调试它,但我很困惑,我是 VB 新手..
-
对于下一个问题,请让样本尽可能小(即在这种情况下,它应该类似于
PixelColor = BitMapforRGB.GetPixel(0, 300))。此外,脏话不会让您的问题更具吸引力,因此请避免在公共示例中使用 s#$#@$ 和任何其他词,如果您也避免使用它们,您自己的代码也不会受到太大影响。
标签: vb.net colors picturebox