本人现在欲提取PictureBox里面图片某一点的RGB值。本人现在的实现方法是: For lngX = 0 To Picture1.ScaleWidth - 1
For lngY = 0 To Picture1.ScaleHeight - 1
C = Picture1.Point(lngX, lngY)
R = C Mod 256
G = C \ 256 Mod 256
B = C \ 256 \ 256
next lngY
next lngX可已经论证该方法是错误的,请问各位大虾,有何方法能得到图片的RGB值。
For lngY = 0 To Picture1.ScaleHeight - 1
C = Picture1.Point(lngX, lngY)
R = C Mod 256
G = C \ 256 Mod 256
B = C \ 256 \ 256
next lngY
next lngX可已经论证该方法是错误的,请问各位大虾,有何方法能得到图片的RGB值。
解决方案 »
- VB treeview中子节点时间控制
- 谁知道winsock.dll的用法
- 关于鼠标操作的问题?
- 如何实现与摄像头交互?
- 请各位大哥,帮一下小弟吧!如何实现数据批量录入呀!我把每个字段对应一个文本框,但一次只能存入数据库中一条记录
- 请问如何注册OCX组件?
- 急!WritePrivateProfileString的性能问题(vb6.0环境)
- RandomArray(ptr) = Int(Rnd() * 100)这句语句有问题吗,我照书上抄的,难道还是我的VB有问题
- StretchDIBits 这个api函数谁会用?
- 关于XP风格的问题
- 編譯出错
- 请教调用webservice 的问题 (我安装的是SoapToolkit20.exe)
.Height.ScaleMode
VbPixels 3 像素R And 255
G And 65280
B And 16711680
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
C = Picture1.Point(X, Y)
r = C Mod 256
g = C \ 256 Mod 256
b = C \ 256 \ 256
Debug.Print r, g, b
End Sub
你可能误会了,其实for语句里面我还有其他的语句,我是要把整个图片的每一象素的RGB转换成灰度值,然后保存到二维数组里面的。
我是说,此方法所提取的RGB的值不正确,和颜色拾取器提取出来的RGB值有出入。
能否讲的稍微详细一些,我看不懂。