小编JPa*_*ley的帖子

使用BufferedImages获取图像的每个像素的颜色

我试图获得图像每个像素的每种颜色.我的想法如下:

int[] pixels;
BufferedImage image;

image = ImageIO.read(this.getClass.getResources("image.png");
int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData();
Run Code Online (Sandbox Code Playgroud)

是对的吗?我甚至无法检查"像素"数组包含什么,因为我得到以下错误:

java.awt.image.DataBufferByte cannot be cast to java.awt.image.DataBufferInt
Run Code Online (Sandbox Code Playgroud)

我只是希望得到阵列中每个像素的颜色,我该如何实现呢?

java image pixel colors

14
推荐指数
4
解决办法
6万
查看次数

C++ LPDWORD 的正确用法

我有一组 hWnds 按钮,我想监视点击次数。我还有一组 HWINEVENTHOOK 用于监视它们。GetWindowThreadProcessID 为我提供了一个 LPDWORD 进程 ID,SetWinEventHook 不接受该 ID。我不清楚在这个例子中我是否正确使用了 LPDWORD。请有人能指出我正确的方向吗?

编辑:感谢所有贡献者,我已经在下面发布了更正后的代码。

新代码:

int i = 0;
for (HWND hWnd : hWnds) {
    DWORD processID = 0;
    DWORD threadID = GetWindowThreadProcessId(hWnd, &processID);
    hooks[i] = SetWinEventHook(EVENT_OBJECT_INVOKED, EVENT_OBJECT_INVOKED, 
    NULL,
        WinEventProcCallback, processID, threadID, WINEVENT_OUTOFCONTEXT);
        i++;
}
Run Code Online (Sandbox Code Playgroud)

c++ winapi

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

colors ×1

image ×1

java ×1

pixel ×1

winapi ×1