- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读过一些文档和示例,但我就是不明白。是否无法从 HDC
转换为 awt.Graphics
?
我知道已经有解决这个问题的答案,但它们都非常具体。我想最终绘制到屏幕上并操作保存的图像。我认为最好的方法是在 BufferedImage
和 HDC
之间进行转换,因为使用 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/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
不知道为什么,但我使用 Deleaker 插件来检测内存泄漏。在我的调试构建代码中,它说我在 GetDC 有内存泄漏然后在发布版本中它说我在 CreateCompatibleDC 有泄漏 这些泄漏是真
我正在使用 Windows API 创建剪辑的 HDC(设备上下文)句柄,然后将其发送到另一个进程。这个句柄在其中绘图是否有效? 最佳答案 您需要公开一种从您的应用程序中绘制到 DC 上的方法。 最有
我正在编写某种 IPC 功能,需要将某些资源从一个进程传递到另一个进程。这适用于可以通过 DuplicateHandle 复制的管道句柄等。现在我需要将 HDC 从一个进程传递到另一个进程。这可能吗?
我有一个无窗口的 IViewObject 对象。 我想调用它的 Draw渲染到 Opengl PBO 内存中的函数(或者 OleDraw 更简单)。 现在我首先使用 CreateDIBSection
我希望能够将内容打印到两个 hdc,比如 hdcBuf 和 hdcBuf2。然后我想把BitBlthdcBuf放到hdcBuf2上,然后把BitBlthdcBuf2放到hdc,也就是客户端窗口。这是我
1.CDC *pDC和HDC hdc有什么不同,类似的有CWnd *pWnd和HWnd? pDC是类指针 HDC是windows句柄 通过pDC获得hdc: HDC hdc=pDC->Get
我正在尝试读取 HDC 给定区域上的所有像素以查找是否存在颜色,目前我想出了: IDirect3DSurface9* pSurface = 0; p1->CreateOffscreenPlainSur
使用 C++ 和 GDI+,我在图像顶部绘制一个矩形,并随着我的鼠标移动移动/调整矩形的大小,这导致了很多闪烁,所以我决定在我的控件顶部创建一个透明的 HDC。单击时我会创建该 HDC 并在该 HDC
我按照这里的代码截屏。它把东西放到 HDC 上。我想知道如何从这个 HDC 中获取像素数据数组的内容。我想将它复制到剪贴板并将其绘制到 HTML5 Canvas 上。 我是否必须为 HDC 上的每个点
如何将 HDC 的内容复制到位图中? 最佳答案 我想你需要: 创建与源 DC 兼容的新 DC。将其称为内存 DC。 创建一个正确大小的新位图。 选择位图到内存DC。 BitBlt 源 DC 到内存 D
我正在编写一个库,它在底层与 HWND 和 HDC 一起工作。 ReleaseDC 将一个HWND 作为参数,但是如果窗口已经被销毁了怎么办? Windows 会自动释放 HDC,还是会导致资源泄漏?
我正在使用 GetDIBits将屏幕兼容设备上下文中的位图数据转换为特定格式的 DIB。我的印象是,当源位图为每像素 8 位或更少时,DC 仅用于合成颜色表。由于我的源位图是一个完整的 32 位彩色图
出于性能原因,我正在尝试通过重用 HBITMAP 和 HDC 来使 HBIPMAP 正常工作。 这是我想做的一个小测试项目,以了解有关基于 CPU 的光栅化的更多信息。对于窗口,我使用的是 SDL2。
这篇文章的代码很密集,所以忽略第一 block 。它仅作为查看该功能最初如何工作的引用。 我目前正尝试在以下代码中对 hdcText 执行 -270 或 90 度旋转: void CImage
我面临着一个两难的境地。我已经将我的 DLL 注入(inject)到其他进程中,并钩住了一些WinAPI 从那里调用,具体来说是 ExtTextOutW@GDI32、DrawTextExW@GDI32
我正在使用较旧的 C++ 应用程序,我需要在 hDC 上绘制居中和旋转的文本。我已经使居中和旋转的部分正常工作,但是写入图像的字体比我预期的要小。如果你拍摄一张图片并对其进行编辑,或者在一个 word
所以我注意到我的部分代码在被调用时泄漏了大量内存,我试图找出它泄漏的位置或原因,但我陷入了死胡同。 我已尝试使用 Visual Studio 2017 调试器拍摄快照以找出泄漏发生的位置,但据此没有任
当我在下面的代码中使用 SetBkMode(hdc, TRANSPARENT); 时,当我调整主窗口大小时(因此当 child 收到 WM_PAINT 消息时),我得到了以下效果: 问题是:当我调整主
我有一个来自外部库的 Windows HDC 句柄,我想使用 QPainter 功能来绘制。 Qt 中有什么方法可以从 HDC 句柄创建 QPaintDevice 吗? 最佳答案 一种方法: 使用 W
我是一名优秀的程序员,十分优秀!