VB中使用DIB方法,取出图片中各个像素的 RGB值

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:51:17
帮忙写个完整VB原代码:

问题1. 在VB中 使用DIB方法,输出图片各个像素的RGB的值 存如数组

问题2. 使用问题1中的数组能还原出图片

能解决一个问题的我就给分了
两个都解决的我+100分

带注释者优先
一,二楼的,我不要求多少的图片格式,用BMP位图就可以了

三楼的,你的方法我以前就知道了,那个的确很简单,但是速度问题是关键,它的处理速度非常的慢
我要求是 DIB 方法
即:使用:SetDIBits ,GetDIBits 等 API函数来实现

VB没DIB方法。

但可采用Point 方法

按照长整数,返回在 Form 或 PictureBox 上所指定磅的红-绿-蓝 (RGB) 颜色。

'使用Point方法 , 窗体判色代码:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Text1 = X
    Text2 = Y
    Text3 = Point(X, Y)
    Text4 = (Val(Text3) Mod 65536) Mod 256 'Red
    Text5 = (Val(Text3) Mod 65536) \ 256 'Green
    Text6 = Val(Text3) \ 65536 'Blue
    Shape1.FillColor = RGB(Val(Text4), Val(Text5), Val(Text6))
End Sub

'PictureBox判色代码:

Private Sub Picture1_MouseMo