VB 提示实时错误‘5’是怎么回事?
Fori=1ToPicture1.ScaleWidthForj=1ToPicture1.ScaleHeightbc=Picture1.Point(i,j)r=bcMod2...
For i = 1 To Picture1.ScaleWidth
For j = 1 To Picture1.ScaleHeight
bc = Picture1.Point(i, j)
r = bc Mod 255
g = (bc \ 255) Mod 255
b = bc \ 255 \ 255
a = mu * a * (1 - a)
a = a * 100
a = n
r = r + a
g = g + a
b = b + a
If r > 255 Then r = r - 255
If g > 255 Then g = g - 255
If b > 255 Then b = b - 255
a = a / 100
x = i
y = j
Picture2.PSet (x, y), RGB(r, g, b)
DoEvents
Next j, i 展开
For j = 1 To Picture1.ScaleHeight
bc = Picture1.Point(i, j)
r = bc Mod 255
g = (bc \ 255) Mod 255
b = bc \ 255 \ 255
a = mu * a * (1 - a)
a = a * 100
a = n
r = r + a
g = g + a
b = b + a
If r > 255 Then r = r - 255
If g > 255 Then g = g - 255
If b > 255 Then b = b - 255
a = a / 100
x = i
y = j
Picture2.PSet (x, y), RGB(r, g, b)
DoEvents
Next j, i 展开
展开全部
不知你的意图,但有一点是有问题的,那就是:
bc = Picture1.Point(i, j)
r = bc Mod 255
第一句刚开始就是负,于是,r也是负值,造成后面颜色设置错误。建议:bc = Picture1.Point(i, j)+255,就可以负值的问题。
bc = Picture1.Point(i, j)
r = bc Mod 255
第一句刚开始就是负,于是,r也是负值,造成后面颜色设置错误。建议:bc = Picture1.Point(i, j)+255,就可以负值的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
展开全部
rgb(r,g,b)
运行的时候 r=-1,g=0,b=0 然后报错!
你上面基本所有的变量都没声明,所以 也不清楚你的变量都表示的什么意思.
可以肯定的是给颜色赋值的过程有问题
运行的时候 r=-1,g=0,b=0 然后报错!
你上面基本所有的变量都没声明,所以 也不清楚你的变量都表示的什么意思.
可以肯定的是给颜色赋值的过程有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
另一种方法是把Text1.SetFocus
换成Text1.TabIndex
=
0看下,如何!
换成Text1.TabIndex
=
0看下,如何!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果点(i,j)不在Picture1内,则Picture1.Point(i,j)=-1,对任意i,j,点(Picture1.ScaleWidth,j)和(i,Picture1.ScaleHeight)在Picture1的右边界和下边界上,结果导致r=-1,如果把
For i = 1 To Picture1.ScaleWidth
For j = 1 To Picture1.ScaleHeight
两句改为
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
For i = 0 To Picture1.ScaleWidth - 1
For j = 0 To Picture1.ScaleHeight - 1
就不会发生实时错误 '5' 了,并且能使速度提高225倍(15的平方)。
要获得点的RGB值,应该把
r = bc Mod 255
g = (bc \ 255) Mod 255
b = bc \ 255 \ 255
三句的255都改为256
变量 a , mu , n 始终是空值或零,在代码中没用。
For i = 1 To Picture1.ScaleWidth
For j = 1 To Picture1.ScaleHeight
两句改为
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
For i = 0 To Picture1.ScaleWidth - 1
For j = 0 To Picture1.ScaleHeight - 1
就不会发生实时错误 '5' 了,并且能使速度提高225倍(15的平方)。
要获得点的RGB值,应该把
r = bc Mod 255
g = (bc \ 255) Mod 255
b = bc \ 255 \ 255
三句的255都改为256
变量 a , mu , n 始终是空值或零,在代码中没用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询