小编per*_*rfo的帖子

在 VBA 中逐像素扫描图像

这里有一个几乎准确的问题 Read pixel colours of an image

Op实际上提出了与我要求相同的问题。但是接受一个几乎存在但不完全的答案.. 下面的代码(取自该线程)完成了我需要的所有操作,逐个像素地显示。如果您单击图像,它将在单击站点上为您提供颜色。当我想扫描整个图片时,我虽然只进行了 XY 扫描,然后将顺序的 X 和 Y 放入而不是 GetCursorPos 调用返回的 X 和 Y。但是如何以像素为单位获得左侧位置和宽度(例如)以开始扫描?我会在 for next 循环中放入什么来处理每个像素?

所以要澄清我的问题。如何更改下面的代码以扫描图像的每个像素,而不仅仅是单击的光标位置。谢谢

#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 …
Run Code Online (Sandbox Code Playgroud)

winapi vba

3
推荐指数
1
解决办法
8682
查看次数

标签 统计

vba ×1

winapi ×1