gpt4 book ai didi

java - 从 GDI32.HDC 转换为 awt.Graphics

转载 作者:行者123 更新时间:2023-12-01 04:37:24 25 4
gpt4 key购买 nike

我读过一些文档和示例,但我就是不明白。是否无法从 HDC 转换为 awt.Graphics

我知道已经有解决这个问题的答案,但它们都非常具体。我想最终绘制到屏幕上并操作保存的图像。我认为最好的方法是在 BufferedImageHDC 之间进行转换,因为使用 awt 绘图非常简单。

我刚刚了解了JNA,所以这可能是一个非常愚蠢的问题。我从未使用过 C 或 C++,这可能没有帮助。无论如何,我被困在这里:

public static void main(String[] args)
{
GDI32 GDI = GDI32.INSTANCE;
User32 user32 = (User32) Native.loadLibrary("user32", User32.class);
HWND win = user32.GetForegroundWindow();
HDC winDC = user32.GetDC(win);
HBITMAP bi = GDI.CreateCompatibleBitmap(winDC, 1024, 1024);
}

最佳答案

兼容位图的最佳选择是整数值数组,尽管您可能必须直接从一种格式读取像素值并写入目标。 JNA 将像素从 Java Graphics 生成的图像传输到 WindowUtils.java 中的 Windows HDC .

要将 Windows 绘制的内容转换为 BufferedImage,您需要将 Windows 图像提取为像素,然后将其写入 BufferedImage

关于java - 从 GDI32.HDC 转换为 awt.Graphics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154995/

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