1. 在VB中如何读取 Picture 内任何一点的颜色值
print Picture1.point(x,y)
2. 怎么用VB读取图片 而且使图片的指定颜色变为透明
picturebox.picture=loadpiature("照片路径")你可以用组合框控件存放文件夹内的图片名,这样就可以访问每张图片拉,至于将指定颜色设为透明,那我想问你在一副图片里透明是什么色?跟桌面背景一样吗?如果是雀轿仿会比较麻烦但是可以做这需要lptodp()dptolp()两个逻辑坐标与顷纤设备坐标之间的转换,不易做。如果不是那什么效果叫透明呢,我知道getpixle和帆拿setpixle是获取指定点的颜色值和设置指定点的颜色,我想可以达到你的要求
3. 用vb如何获取存在硬盘的bmp图片某坐标的颜色
用二进制的方式打开文件,从第55字节开始存放的是颜色数据,存放顺序是从左到右边,*** 从下到上 ***,这点要特别注意,因此坐标与字节对应需要换算,第19-22字节存放的位图的宽度(单位是像素),第23-26字节存放高度,普通的24位位图每像素占3字节(不同位深的不同),分别为RGB,有了这些你就可以直接通过计算梁汪巧定点读取三字节。。即可得到该点RGB值
----------------------------------------------------------
用画图板建立一个BMP图,尺寸自定,背景一色,从陵孙(0,0)点到(X,X)点画一条45度的其它色斜线。。然后慢慢验证吧
Private Sub Command3_Click()
Dim BMPWidth As Long
Dim BMPHeight As Long
Dim LineWidth As Long
Dim ArrByte(0 To 3) As Byte
Dim R As Integer
Dim G As Integer
Dim B As Integer
Open "D:\111.bmp" For Binary As #1
Get #1, 19, ArrByte
BMPWidth = ArrByte(3) * 256 ^ 3 + ArrByte(2) * 256 ^ 2 + ArrByte(1) * 256 + ArrByte(0)
Get #1, 23, ArrByte
BMPHeight = ArrByte(3) * 256 ^ 3 + ArrByte(2) * 256 ^ 2 + ArrByte(1) * 256 + ArrByte(0)
'BMP图要求每行字节数为4的倍数,不够则填充1-3个无用字节
Select Case (BMPWidth * 3) Mod 4
Case 0
LineWidth = BMPWidth * 3
Case 1
LineWidth = BMPWidth * 3 + 3
Case 2
LineWidth = BMPWidth * 3 + 2
Case 3
LineWidth = BMPWidth * 3 + 1
End Select
'此为求 (0,0)点颜色分量
Get #1, FindByte(LineWidth, BMPHeight, 0, 0), ArrByte
R = ArrByte(2)
G = ArrByte(1)
B = ArrByte(0)
Print R; G; B
Close #1
End Sub
Private Function FindByte(ByVal LineWidth As Long, ByVal LineCount As Long, ByVal X As Long, ByVal Y As Long) As Long
FindByte = 55 + (LineCount - Y - 1) * LineWidth + 3 * X
End Function
----------------------------------------
给分吧!!噢 抗橡键木昂卑鄙。。。。
4. 在vb.net中,如何获取Graphics中某一指定点(像素)的颜色值(VB语言)
要使用GetPixel函数来取得首则像素的颜色值,代码如下者或棚团枝:
1
2
3
4
5
private void button1_Click(object sender, EventArgs e)
{
Color color = new Bitmap(pictureBox1.Image).GetPixel(10, 10);
MessageBox.Show(color.ToString());
5. vb image 里面的图片某点的像素颜色如何获取
Dim str As String
Private Sub Image1_Click()
MsgBox str
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
str = "你选取的逗袭所在点的颜色值是"岩指核粗掘 & Hex(Point(X, Y))
End Sub
6. VB Picture或Image中有一张图,如何取每个像素点的RGB值
Picture控件可以用GetPixel来得到RGB颜局老色值。返回值是一个Long类型的整数。它的值为R * 65536 + G * 256 + B。物腊腔所以要得到其各自的颜色罩衫值,需要将返回值除65536得到R,返回值与65536取余除256得到G,返回值与65536*256取余得到B。
7. 用vb如何获取存在硬盘的bmp图片某坐标的颜色
用二进制的方式打开文件,从第55字节开始存放的是颜色数据,存放顺序是从左到右边,***
从下到上
***,这点要特别注意,因此坐标与字节对应需要换算,第19-22字节存放的位图的宽度(单位是像素),第23-26字节存放高度,普通的24位位图每像素占3字节(不同位深的不同),分别为RGB,培饥有了这些你就可以直接通过计算定点读取三字节。。即可得到该点RGB值
----------------------------------------------------------
用画图板建立一个BMP图,尺寸自定灶毁,背景一色,从(0,0)点到(X,X)点画一条45度的其它色斜线。。然后慢慢验证吧
Private
Sub
Command3_Click()
Dim
BMPWidth
As
Long
Dim
BMPHeight
As
Long
Dim
LineWidth
As
Long
Dim
ArrByte(0
To
3)
As
Byte
Dim
R
As
Integer
Dim
G
As
Integer
Dim
B
As
Integer
Open
"D:\111.bmp"
For
Binary
As
#1
Get
#1,
19,
ArrByte
BMPWidth
=
ArrByte(3)
*
256
^
3
+
ArrByte(2)
*
256
^
2
+
ArrByte(1)
*
256
+
ArrByte(0)
Get
#1,
23,
ArrByte
BMPHeight
=
ArrByte(3)
*
256
^
3
+
ArrByte(2)
*
256
^
2
+
ArrByte(1)
*
256
+
ArrByte(0)
'BMP图要求每行字配辩返节数为4的倍数,不够则填充1-3个无用字节
Select
Case
(BMPWidth
*
3)
Mod
4
Case
0
LineWidth
=
BMPWidth
*
3
Case
1
LineWidth
=
BMPWidth
*
3
+
3
Case
2
LineWidth
=
BMPWidth
*
3
+
2
Case
3
LineWidth
=
BMPWidth
*
3
+
1
End
Select
'此为求
(0,0)点颜色分量
Get
#1,
FindByte(LineWidth,
BMPHeight,
0,
0),
ArrByte
R
=
ArrByte(2)
G
=
ArrByte(1)
B
=
ArrByte(0)
Print
R;
G;
B
Close
#1
End
Sub
Private
Function
FindByte(ByVal
LineWidth
As
Long,
ByVal
LineCount
As
Long,
ByVal
X
As
Long,
ByVal
Y
As
Long)
As
Long
FindByte
=
55
+
(LineCount
-
Y
-
1)
*
LineWidth
+
3
*
X
End
Function
----------------------------------------
给分吧!!噢
抗木昂卑鄙。。。。