5
A
回答
6
嘗試在網站上公佈這裏的解決方案: http://sim0n.wordpress.com/2009/03/27/vba-q-how-to-get-pixel-colour/
我不得不改變的ByRef到BYVAL但,除了它工作得很好。使用「插入」>「圖片」插入圖片,併爲點擊事件分配一個宏。我剛剛將單元格A1的顏色設置爲您點擊的顏色,但我相信您明白了。
#If VBA7 Then
Private Declare PtrSafe Function GetPixel Lib "gdi32" (ByVal hdc As LongPtr, ByVal x As Long, ByVal y As Long) As Long
Private Declare PtrSafe Function GetCursorPos Lib "user32" (ByRef lpPoint As POINT) As LongPtr
Private Declare PtrSafe Function GetWindowDC Lib "user32" (ByVal hwnd As LongPtr) As LongPtr
#Else
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINT) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
#End If
Private Type POINT
x As Long
y As Long
End Type
Sub Picture1_Click()
Dim pLocation As POINT
Dim lColour As Long
Dim lDC As Variant
lDC = GetWindowDC(0)
Call GetCursorPos(pLocation)
lColour = GetPixel(lDC, pLocation.x, pLocation.y)
Range("a1").Interior.Color = lColour
End Sub
要使用它,將圖片放置在工作表中,右鍵單擊圖像並將其分配給它。
+0
偉大的答案,測試它,它完美的作品。 +1 – hammythepig 2013-06-20 20:09:49
+1
此處還有其他信息:您還可以使用只需粘貼在工作表中的圖像(「插入>圖片」過程不是強制性的)。再次感謝+1並感謝您@KM Hs – Arthur 2014-04-24 15:02:31
相關問題
- 1. 閱讀單色位圖像素顏色
- 2. 從圖像中獲取像素顏色
- 3. 讀取每個像素的PVRTC圖像顏色信息
- 4. 使用畫布和JavaScript來讀取圖像的像素顏色
- 5. PNG ++讀取像素顏色值
- 6. 圖像讀取的RGB顏色?
- 7. Unity:讀取圖像像素顏色並基於該圖像實例化對象
- 8. PyPNG讀取48位,更改像素顏色,寫入像素
- 9. 如何獲取圖像中像素的顏色(加載灰色)?
- 10. WPF圖像,改變像素的顏色
- 11. FreeImage:獲取像素顏色
- 12. GDAL獲取像素顏色
- 13. Java - 獲取像素顏色
- 14. 從圖片中獲取像素顏色?
- 15. C#位圖從像素讀取不正確的顏色
- 16. C++讀取圖像像素
- 17. C#圖像掃描像素顏色
- 18. 透明像素顏色 - 去朗圖像
- 19. 閱讀android中的像素顏色
- 20. Swift - 讀取.jpg圖像的像素顏色返回不正確的值
- 21. 從iPhone上的PNG圖像讀取像素顏色值的簡單方法?
- 22. 在java和android中讀取位圖像素顏色?
- 23. 地理參考圖像的讀取像素顏色,並得到經緯度
- 24. 獲取pygame中圖像的單個像素的顏色
- 25. iPhone:如何獲取圖像的每個像素的顏色?
- 26. 使用Android中的按鈕獲取圖像的像素顏色?
- 27. 如何從圖像中獲取像素的顏色?
- 28. iOS:從圖像的每個像素獲取頂部顏色
- 29. 獲取圖像的平均外部像素顏色
- 30. 統一2D:獲取原始圖像的顏色像素
如果代碼使用API,那麼它很可能實現它到VBA中,設置API函數的一些引用... – 2013-05-13 19:08:37
你問什麼文件類型?任何特別的?也許是一個文件類型的列表?不同的文件格式將存儲不同的顏色信息,因此讀取不同的類型將需要知道我們將需要閱讀什麼。 – jhoe 2013-06-03 22:13:18
下面的答案很好,但如果你真的想掃描每個像素(而不是點擊它),那麼這個https://stackoverflow.com/questions/45998565/scan-image-pixel-by-pixel-in-vba/ 46004570#46004570很好地完成了這項工作,所有在VBA(沒有圖形庫等) – perfo 2017-09-06 08:27:47