7得票1回答
我可以从WPF窗口获取HDC,以便我可以使用Gdi+ API进行绘制吗?

我有一个库,使用GDI+ API在给定的HDC上进行绘制。 我想在WPF应用程序中使用它。我尝试从WindowInteropHelper类获取句柄,并将其传递给执行绘图的库方法。但是它失败了,因为它无法从该句柄创建Gdi+ Graphics。 然后,我尝试在WindowsFormsHost控...

15得票4回答
如何在C#中有效地在桌面上绘图?

我想在 C# 中直接在桌面上绘图。经过一番搜索,我使用了来自桌面 HDC(null)的 Graphics 对象。然后,我使用此 Graphics 对象正常绘制。 问题是当屏幕的任何部分重新绘制时,我的图形会丢失。我尝试使用 While 循环,但实际上它以应用程序可以处理的速度进行绘制,而不是...

10得票4回答
让鼠标在Windows C++中穿梭

我正在开发一个Win32 C++应用程序,在这个应用程序中,我希望忽略鼠标事件,让它们穿透到我的窗口下面的窗口。基本上,我的下面的窗口将处理鼠标事件。我宁愿不使用SendMessage将鼠标消息发送到我的下面的窗口,也不使用SetCapture。是否有一种方法可以忽略鼠标事件,并让它们通过Wi...

9得票1回答
使用MSDN库进行多屏幕截图

我正在进行多屏幕截图的工作。由于GetDesktopWindow()只能获得主显示器的句柄,因此我尝试使用EnumDisplayMonitors()来完成这项工作。 在阅读MSDN网站后,我在main()函数中写下了以下代码: HDC hdc = GetDC(NULL); EnumDisp...

17得票4回答
GDI和GDI+有什么区别?

这两个库之间有什么区别吗?

8得票1回答
当Windows字体名称前缀为'@'时,它代表什么意思?

使用EnumFontFamiliesEx函数,我会得到一些字体的两个实例,第二个实例在LOGFONT中的字体名称前面带有'@'符号。例如,我会得到"MS PMincho"和"@MS PMincho"。但是对于其他字体,我只会得到一个实例,比如"Arial"。在这种情况下,'@'符号代表什么意思...

9得票1回答
根据背景色反转文本颜色

我有两个ProgressBar控件,如下图所示: 第一个是正确绘制的。正如您所看到的,第二个只有一个0,它应该有两个,但是另一个无法看到,因为ProgressBar的ForeColor与TextColor相同。是否可以在下面的ProgressBar绘制为Lime时将文本绘制为黑色,并在背...

11得票11回答
GDI+发生了一般性错误。

[ExternalException (0x80004005): A generic error occurred in GDI+.] IpitchitImageHandler.Data.ImageRepository.AddNewTempImage(Stream image, Stri...

24得票6回答
GDI、GDI+和OpenGL真的已经过时/弃用了吗?

如果您打开 "Graphics and Gaming (Windows)" on microsoft.com 页面 最后一个类别被描述为 Legacy Graphics: 过时的技术,不应在新应用程序中使用。 这个类别包括(但不限于)以下 API: GDI GDI+ OpenGL...

10得票4回答
Winforms:如何加速Invalidate()?

我正在使用GDI+开发一个保留模式绘图应用程序。该应用程序可以在画布上绘制简单的图形并进行基本编辑。此过程中的数学计算已经优化到了极致,因此不是问题所在。我正在绘制一个使用内置Controlstyles.DoubleBuffer的面板。 如果我将我的应用程序最大化到一个大屏幕上(例如我的高清...