18得票4回答
屏幕截图特定窗口

能否截屏指定窗口(也可能是其他进程的窗口)? 目前我正在捕捉特定监视器的整个桌面,但我真正想要的是捕捉特定窗口的内容(无论其位置如何)。

12得票4回答
为什么GetObject返回一个带有空bmBits的位图?

背景: 我正在尝试截取另一个窗口的屏幕截图并将其传入OpenCV。我在网上找到了一些代码,应该能够将BITMAP转换为OpenCV可以使用的东西。不幸的是,我遇到了一些问题。 问题: 为什么bmBits属性/成员总是为空?(我也尝试过使用PrintWindow而不是BitBlt,结果相同)#...

9得票2回答
在原生Win32 GDI中绘制略透明的蓝色矩形

如何在Native Win32 C++中绘制一个蓝色矩形,并设置透明度为0.5(即50%透明度)? 使用RGBA()等宏失败,我不确定如何指定画刷的 alpha 值。 SetDCPenColor(hdc, RGBA(255,255,0,127)); SetDCBrushColor(hdc,...

7得票3回答
使用TextRenderer将文本绘制到位图上

我将尝试使用TextRenderer(因为这比使用Graphics.DrawString更好)在Bitmap上绘制一些文本,但是它会产生一些非常不良的效果。 示例代码 using (Bitmap buffer = new Bitmap(this.ClientRectangle.Width,...

10得票3回答
Win32:一个窗口在其整个生命周期中是否拥有相同的HDC?

我能在绘图周期外使用DC吗?我的窗口DC是否永久有效? 我正在尝试确定控件的设备上下文(DC)有效期。 我知道我可以调用: GetDC(hWnd); 我想获取我的控件窗口的设备上下文,但这样做可以吗? 当Windows发送WM_PAINT消息时,我应该调用BeginPaint/En...

7得票2回答
我们是否应该在2D图形中使用OpenGL?

如果我们想做一个类似于MS Paint的应用程序,我们是否应该使用OpenGL来渲染图形呢?我想提到使用传统的GDI与使用OpenGL相比性能问题。如果存在更好的库可用于此目的,请向我展示一下。

16得票2回答
在GDI和WinForms中实现C#径向渐变刷效果

我创建了一个C# Windows应用程序并编写了75%的代码。该程序允许用户创建流程图,并根据其状态着色流程图形状。我希望它们变成3D按钮,例如来自Webdesign.org网站的。我想使用刷子或其他技术在C#中创建它们,而不是为每个按钮创建PNG文件。// Create solid brus...

12得票8回答
追踪EOutOfResources错误

问题: 有没有一种简单的方法来获取运行应用程序中泄漏资源的类型列表?也就是说,通过连接到应用程序? 我知道Memproof可以做到这一点,但它会使应用程序变得如此缓慢,以至于应用程序甚至连续运行一分钟都难以实现。大多数任务管理器类似的工具可以显示数量,但不显示类型。 检查本身造成的影响很...

9得票3回答
如何处理WM_ERASEBKGND以避免闪烁?

我在一个表单上有一些自定义进度条,每秒更新/刷新两次,但它们会闪烁。 TMyProgressBar = class(TCustomControl) 我从 TCustomControl 继承了控件,因为我需要 Handle 和一些 TWinControl 事件。这些控件(最多 64 个)是...

12得票3回答
GDI - 我能在DrawText中使用新的Windows 10 Segoe UI Emoji彩色字体吗?

我正在使用Embarcadero RAD Studio(10.2 Tokyo Starter)和Windows GDI创建一个C++项目来绘制文本,使用DrawText()函数。 我最近看到,Windows 10提供了一个新的"Segoe UI Emoji"字体,可能允许文本函数绘制彩色表情符...