gpt4 book ai didi

image - 读取图像的像素颜色

转载 作者:行者123 更新时间:2023-12-02 07:21:34 26 4
gpt4 key购买 nike

在VBA中,如何读取图像中每个像素的颜色值?

我找到了this solution在 VB 6.0 中有效,但它并不直接应用于 VBA。

最佳答案

尝试在此网站上发布的解决方案: 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

要使用它,请将图片放入工作表中,右键单击该图像并将此宏分配给它。

关于image - 读取图像的像素颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com