编程VB实现BMP图象RBG分量的显示

来源:百度知道 编辑:UC知道 时间:2024/09/22 03:08:22
kuaidian

BMP图像从第55字节开始存储颜色信息。。并且顺序是从图片的右下角始往左上角依次存储。。位深为24的BMP图像每像素占三个字节。。依次为RGB。。用二进制的方式打开BMP图像。。定义以个三个字节的数组读入。。然后换算成十进制即可。。

不同位深的BMP图像颜色信息存储方式不同。。并且每行的颜色数据可能最后几位没有用(BMP图像每行字节数必须是四的倍数,因此可能在每行末补了1-3字节)。。你自己去查点BMP图像存储格式的资料看吧

如果你是把BMP图像显示到PictureBox控件中,然后用鼠标来获取某点的颜色分量就好办得多。。

在窗体上画一个Picture1和一个Cmmand1

Private Sub Command1_Click()
Dim Color As Long
Dim R As Integer
Dim G As Integer
Dim B As Integer

Picture1.BackColor = RGB(200, 130, 50)
Color = Picture1.Point(20, 20)
B = Int(Color / 65536)
G = Int((Color Mod 65536) / 256)
R = Int(Color Mod 256)
Print R
Print G
Print B
End Sub

如此如此便OK了。。。Point方法取得指定坐标点的颜色值,返回一个长整数

-------------------------------------------------------------------

求24位BMP硬盘图(X,Y)点颜色分量

Private Sub Command3_Click()
Dim BMPWidth As Long
Dim BMPHeight As Long
Dim LineWidth As Long
Dim