VB中使用DIB方法,取出图片中各个像素的 RGB值
帮忙写个完整VB原代码:问题1.在VB中使用DIB方法,输出图片各个像素的RGB的值存如数组问题2.使用问题1中的数组能还原出图片能解决一个问题的我就给分了两个都解决的我...
帮忙写个完整VB原代码:
问题1. 在VB中 使用DIB方法,输出图片各个像素的RGB的值 存如数组
问题2. 使用问题1中的数组能还原出图片
能解决一个问题的我就给分了
两个都解决的我+100分
带注释者优先
一,二楼的,我不要求多少的图片格式,用BMP位图就可以了
三楼的,你的方法我以前就知道了,那个的确很简单,但是速度问题是关键,它的处理速度非常的慢
我要求是 DIB 方法
即:使用:SetDIBits ,GetDIBits 等 API函数来实现 展开
问题1. 在VB中 使用DIB方法,输出图片各个像素的RGB的值 存如数组
问题2. 使用问题1中的数组能还原出图片
能解决一个问题的我就给分了
两个都解决的我+100分
带注释者优先
一,二楼的,我不要求多少的图片格式,用BMP位图就可以了
三楼的,你的方法我以前就知道了,那个的确很简单,但是速度问题是关键,它的处理速度非常的慢
我要求是 DIB 方法
即:使用:SetDIBits ,GetDIBits 等 API函数来实现 展开
4个回答
推荐于2016-03-24 · 知道合伙人软件行家
关注
展开全部
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_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1 = X
Text2 = Y
Text3 = Picture1.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
展开全部
问题太大,图片不同,读取色点的方法是不同的,例如bmp图片、gif图片、jpg图片、png图片。
另外图片大小不同,同样存在差异。
另外图片大小不同,同样存在差异。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建窗体,加入1个picturebox,1个“保存”按钮,1个“写入”按钮。
1.用picturebox控件载入目标图片,picturebox可以支持jpg,bmp。
2.“保存”按钮:调用API函数GetPixel按(x,y)坐标读出picturebox的每个像素值保存到一个Long型的动态数组。函数声明:
Public Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long,hdc就是picturebox控件的hdc.该函数返回的long就是像素的RGB值。
3.同样使用SetPixel函数可将数组保存的long型像素值写入picturebox。
不知你要求的DIB方法指什么,但上面的方法很简单直接。
1.用picturebox控件载入目标图片,picturebox可以支持jpg,bmp。
2.“保存”按钮:调用API函数GetPixel按(x,y)坐标读出picturebox的每个像素值保存到一个Long型的动态数组。函数声明:
Public Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long,hdc就是picturebox控件的hdc.该函数返回的long就是像素的RGB值。
3.同样使用SetPixel函数可将数组保存的long型像素值写入picturebox。
不知你要求的DIB方法指什么,但上面的方法很简单直接。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跟QQ空间上传原因差不多,因为图片的类型不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询