[VB6 ] 關於取得點的灰度(像素)值
看板Visual_Basic作者geniusgod (華麗的貪婪 人最美麗本性)時間18年前 (2006/12/25 04:50)推噓1(1推 0噓 0→)留言1則, 1人參與討論串1/3 (看更多)
最近開始接觸VB 教授就出了題目讓我寫出程式=.=||
主要是在做影像方面的問題
首先 我就碰到個問題
就是如題要我在載入圖片後輸入X、Y座標點得到其灰度值(0~255...)
找遍網路總算找到點頭緒 但是寫起程式還是bug連連
麻煩先賢們不吝賜教 我實在困擾很久沒辦法自己解決才來詢問的<(_ _)>
以下是我的程式碼
Private Sub Command1_Click()
Dim R As Integer, G As Integer, B As Integer, Gray As Single
Dim c() As Long
Dim I As Long, J As Long, hdc1 As Long
Dim width1 As Long, heigh1 As Long
width1 = Picture1.ScaleWidth
heigh1 = Picture1.ScaleHeight
hdc1 = Picture1.hdc
ReDim c(0 To Picture1.ScaleWidth - 1, 0 To Picture1.ScaleHeight - 1)
c(I, J) = Picture1.Point(I, J)
For I = 0 To width1 - 1
DoEvents
For J = 0 To heigh1 - 1
C(I, J) = GetPixel(hdc1, I, J)
Next
Next
I = Text1.Text 'Text1.Text這是用來輸入的x座標的值
J = Text2.Text 'Text2.Text這是用來輸入的y座標的值
Text3.Text = Gray
出來的值 黑色的點會是0---->這應該是對的吧~
但是只要不是黑色的點出來的就是啥1677215的值XD---->看起來好像各是RGB的值
要是我在
For J = 0 To heigh1 - 1
C(I, J) = Picture1.Point(I, J)
這兩行間加入轉rgb成灰階的函數
Gray = (R + G + B) / 3
rgb1 = RGB(Gray, Gray, Gray)
SetPixel hdc1, I, J, rgb1
那麼就會出來的值都等於0...
不知道到底是哪裡出了錯
麻煩各位解答我一下好嘛? 我實在%黔驢技窮了...冏rz
............................................................................
.@@@@@@@@@@@.........@@@@@@@@@@@..........@@@@@@@@@@@@@@@@@@@@@.............
.@@@@@@@@@@@.........@@@@@@@@@@@..........@@@@@@@@@@@....@@@@@@@@@@@........
......@@@@@@@@@@@....@@@@@@...............@@@@@@@@@@@.........@@@@@@@@@@@...
...........@@@@@@@@@@@....................@@@@@@@@@@@.........@@@@@@@@@@@...
...........@@@@@@@@@@@....................@@@@@@@@@@@.........@@@@@@@@@@@...
......@@@@@@....@@@@@@@@@@@...............@@@@@@@@@@@.........@@@@@@@@@@@...
.@@@@@@@@@@@.........@@@@@@@@@@@..........@@@@@@@@@@@.........@@@@@@@@@@@...
.@@@@@@@@@@@.........@@@@@@@@@@@..........@@@@@@@@@@@....@@@@@@@@@@@........
.@@@@@@@@@@@.........@@@@@@@@@@@..........@@@@@@@@@@@@@@@@@@@@@.............
............................................................................
另外 之後我必須進行的工作是把指定的點擷取rgb色階
並任意轉換成其他rgb色階
雖然我找到了轉換的function
但是卻似乎不能放在表單裡
聽說要令外開模組不知對否?
可是怎麼連結模組裡的含數到我表單裡面的command box呢?
我找了好幾本vb的書都沒有談到模組!
msdn裡面又寫的亂七八糟看不懂
不知有人可以提示一下嘛?
或是給我個網站自己讀也行(vb研究小站好像沒有耶...)
總知給我個方向也好
目前這樣像無頭蒼蠅的亂找實在很痛苦啊!!!!!!!!!!!!!!!!!!!!!!!
ps:我目前這樣應該算是新手
雖然我也想讀通書籍循序漸進漸進 但是時間不允許
所以我可能很多基礎沒空打好就趕鴨子上架
因此希望指叫的大大能夠說的淺白點讓我能聽懂
當然如果是很基本的東西我會想辦法自己去搞懂或是搜尋
感謝看完這篇冗長文章及問題的大大o(〒口〒)o
麻煩不吝賜教<(_ _)>
感恩~
--
◆══════════════════════════════════天══◆
║你曾經看過流星雨嗎? /▃▃ kyc / 險 ║
║那是非常美麗的景象,虛幻的光芒,如人一生。 。 ▂ / 。 刀 ║
║神醉夢迷,我很喜歡這個名字... 。~\▂▂ 。 / 藏 ║
║下一刻,我將連自己也遺忘;但這一刻,是屬於我的!/◢藏﹥01010。 / φby ║
◆═══════════════════════。 / ||\════。═kyc01010
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.126.128.161
推
12/25 15:00, , 1F
12/25 15:00, 1F
※ 編輯: geniusgod 來自: 122.126.128.161 (12/25 23:31)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章