10得票3回答
Win32:是否有一种替代GDI32.dll并使用硬件加速的方法?

有没有人创建了一个利用机器上可用的硬件加速的GDI32.dll版本?gdiplus.dll? 从Windows Vista开始,GDI不再具备硬件加速功能(GDI+从未具备硬件加速功能)。除非Microsoft修复GDI(和GDI+)以便能够在计算机上良好运行:本地应用程序(C++ MFC、...

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"字体,可能允许文本函数绘制彩色表情符...

10得票4回答
如何在Windows中使用DrawText找到文本渲染的准确像素高度

我希望找到Windows下文本渲染的确切高度。我尝试了GetTextExtentPoint32和使用DT_CALCRECT标记调用DrawText,两者给出的结果都相同。 看起来返回的高度是基于整个单元格高度,而不管实际绘制的文本。 下面的代码是标准Visual Studio 2013 W...

18得票4回答
Graphics.DrawString 和 TextRenderer.DrawText 哪个可以提供更好的质量?

TextRenderer基于GDI,而Graphics.DrawString基于GDI+。在绘制图像时,这两个函数哪一个可以实现更好质量的文本呢?

12得票2回答
如何使用c++/WinAPI绘制具有透明背景的文本?

如何在WinAPI中使用透明颜色绘制文本?通常我使用SetBkMode(hDC,TRANSPARENT),但现在我需要使用双缓冲。用这种方式,图像绘制正确,但文本绘制不正确(有黑色背景)。case WM_PAINT: { hDC = BeginPaint(hWnd, &pain...

9得票11回答
Heisenbug:WinApi程序在某些计算机上崩溃

请帮忙!我真的很绝望。我的程序是一个小型个人笔记管理器(可以在谷歌上搜索“cintanotes”)。在某些电脑上(当然,我没有拥有它们中的任何一台),它在启动后会崩溃并显示未处理的异常。除了这些电脑倾向于使用AMD CPU外,没有什么特别之处。 环境:Windows XP,Visual C+...

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

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

8得票2回答
HBRUSH转换为RGB值

您能否从 HBRUSH 或画刷 ID 中获取 RGB 值?例如:我正在寻找 GRAY_BRUSH 的 RGB 值。

30得票5回答
如何获取 TextRenderer 使用的确切文本边距

System.Windows.Forms.TextRenderer.DrawText方法根据flags参数的值呈现格式化文本,可以带有左右填充或不带有: TextFormatFlags.NoPadding - 将文本紧密地适配到边界框中, TextFormatFlags.GlyphOver...

15得票3回答
如何使用GDI将正方形位图渲染成任意四边形?

我需要绘制一个正方形的图像,映射或变换成一个在编译时不知道的四边形。如何做到这一点? 更长的解释 具体问题是使用非矩形地图投影渲染地图瓦片。假设我有以下瓦片: 我知道这四个角点需要在这里: 鉴于此,我希望获得以下输出: 方形瓷砖可能会: 旋转; 和/或者 一端比另一端...