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
----------------------------------------
給分吧!!噢
抗木昂卑鄙。。。。