gdi相关内容

可以创建编码的动画墙纸吗?

其想法是最终拥有一个在后台运行的程序。该程序以每秒至少24像素的速度将像素绘制到桌面墙纸上。 我已经尝试使用某些dektophandles,但没有达到预期效果。此解决方案还可以在光标和图标上绘制。 建议? 推荐答案 这个铁锈箱可以换很多操作系统的墙纸: https://docs.rs/wallpaper/2.0.1/wallpaper/ 它可能不会产生您所说的性能,根 ..
发布时间:2022-09-24 22:39:45 C/C++开发

GDI-我可以将新的Windows 10 Segoe UI Emoji彩色字体与DrawText一起使用吗?

我正在使用Embarcadero RAD Studio(10.2 Tokyo Starter)和Windows GDI创建一个C++项目,以通过DrawText()函数绘制文本。 我最近看到Windows 10提供了一种新的Segoe用户界面表情符号和字体,它可能允许文本函数绘制彩色表情符号。我发现了几个使用Direct2D的示例,但没有一个使用纯GDI函数。 我还尝试了一个简单的代码 ..
发布时间:2022-09-21 20:27:20 其他开发

如何在C中使用GDI+?

免责声明:我只是从C开始,所以我很可能遗漏了一些明显的东西,或者没有正确地思考!:) 我将如何在纯C中使用GDI+? 据我所知,GDI+包装了为C++制作的对象,但在它下面是一个平面API,可以通过gdiplusflat.h访问,这是一个C友好的头文件。 我的问题是,当我#包含它时,我得到以下错误: C:Program Files (x86)Microsoft SDKsWindo ..
发布时间:2022-08-17 14:59:30 其他开发

控制边界外的自定义绘制下拉面板

我似乎拿到了一张“不清楚我在问什么”的选票。我想自定义绘制一个组合框样式的控件。弹出打开部分需要在控件本身的边界之外绘制。我不能使用组合框-想象一下类似于Word功能区中的图库控件。 我想了两种方法: 将弹出的打开面板向上传递到要呈现的窗体。 使用无边框、无框架窗体或NativeWindow。 后者还允许下拉菜单脱离窗口的边界,这可能有用,但不是绝对必要的。 有没有其他方 ..
发布时间:2022-06-07 20:02:26 C#/.NET

如何用拉弦法书写对角线

我使用的是c#2005,我想把字符串写在图像上。但默认情况下,c#提供了水平或垂直写入的选项。 我们如何写对角线? 谢谢 推荐答案 在调用DrawString之前执行Graphics.rotateTransform。正如菲尔·赖特指出的那样,事后别忘了逆转这一变化。 ..
发布时间:2022-05-09 23:10:24 C#/.NET

Windows 7 中一个进程的 GDI 对象上限是多少?

有一个 GDI 泄漏的应用程序最终会达到 10,000 个已分配的 GDI 对象并崩溃.我尝试增加 GDIProcessHandleQuota 到 20,000,但程序在达到 10,000 个对象时仍然崩溃.我们目前正在修复这个漏洞,但出于好奇——有没有办法增加单个进程的 GDI 限制?还是 10k 是单个应用程序的硬限制? 解决方案 有一个可行的解决方案.我在这里处理一个行为不端的供应商 ..
发布时间:2022-01-18 10:58:11 其他开发

围绕另一个点旋转一个点

我的任务是绘制一个特定的图形.作为这项任务的一部分,我需要将一些点旋转 45 度. 我已经花了 2 天时间试图计算一个公式,但就是无法正确计算.我一直在到处搜索,包括这个特定的网站,我已经非常接近了,但我仍然不在那里. 这里是:我需要画4个不同的点 我有一个特定的公式来计算那里的位置,这超出了问题的范围,但这是我得到的结果: int 半径 = 576;int 直径 = 半径 * ..
发布时间:2022-01-16 14:05:03 C#/.NET

创建没有标题栏的窗口,具有可调整大小的边框并且没有虚假的 6px 白色条纹

我想要一个没有标题栏但有可调整大小的框架和阴影的窗口.这可以通过删除 WS_CAPTION 并添加 WS_THICKFRAME 轻松实现,但是,从 Windows 10 开始,有一个 6px 白色非客户区. 使用下面的代码,我创建了一个窗口并将所有客户区涂成黑色,窗口的左、右和下 6px 透明边距,但上边距是白色的. #ifndef UNICODE#define UNICODE#万一#in ..
发布时间:2022-01-15 15:34:24 其他开发

windows 10 屏幕坐标偏移 7

我在 windows 10 上用 c++ 编写代码 - 直接 win32 API. 我想在屏幕右上角显示一个窗口.在执行此操作时,我注意到最大化窗口的屏幕坐标为 left=-8、top=-8、right=1936、bottom=1088. 此外,当我将窗口定位为 right=1920 且 top=0 时,右侧大约有 8 个像素的间隙.我试着四处移动窗口,看看我得到了什么屏幕坐标. ..
发布时间:2022-01-15 14:52:17 C/C++开发

在 Windows 对话框中处理 WM_ERASEBKGND 时如何避免闪烁

我有一个调整大小的对话框.它还有一个自定义背景,我绘制它以响应 WM_ERASEBKGND 调用(当前是对 FillSolidRect 的简单调用). 调整对话框大小时,会出现巨大的闪烁.为了尝试减少闪烁,我枚举了所有子窗口并将它们添加到剪切区域.这似乎有点帮助——现在所有子控件在重新绘制时闪烁最明显. 如何使对话框在调整大小时不闪烁?我怀疑双缓冲必须发挥作用,但我不确定如何通过带有子 ..
发布时间:2022-01-15 13:57:34 其他开发

有没有办法将 Webbrowser 内容绘制到特定的 DC?

这些天,我尝试在我的程序中创建一个隐藏的 WebBrowser 控件,并使用 IViewObject 接口绘制到我的自定义 DC. 结果很好,我得到了我想要的所有内容,但是Draw速度无法接受,尤其是一些包含Flash对象的复杂网页,每次Draw to DC花费超过100毫秒.所以我画的flash对象不流畅. 有没有一种快速的方法可以将控件绘制到我的特定 DC? 我的代码sinp ..
发布时间:2022-01-14 12:36:46 其他开发

在卷纸上打印

我在 Winforms 中使用 C#.我正在尝试在纸卷上打印账单.纸张的宽度为 3 英寸,但纸张的长度是动态的(它是卷纸).长度取决于列表中有多少项目.例如.在一次购买中,如果有 100 件商品售出,那么它会很长,而对于单个购买的商品,它的长度会很短. 当我打印报告时,在结束作业后,打印机弹出的最后一页比我需要的多.它会弹出与 A4 尺寸一样长的纸张.我想打印所需的行,然后停止打印.我使用一 ..
发布时间:2022-01-13 14:23:17 C#/.NET

TextBox 使用 GDI 还是 GDI+

基本上,我想测量 TextBox 中的文本大小,我发现 TextRenderer 给了我正确的值,而 Graphics 给了我错误的值.这样看来,TextBox 应该使用 GDI 来绘制文本,对吧? 但是,无论我在哪里阅读,我都看到它应该使用 GDI+.例如: 这里 http://microsoft.public.dotnet.framework.windowsforms.contro ..
发布时间:2022-01-13 11:41:24 C#/.NET

Windows API 中逻辑坐标和设备坐标之间的混淆

我一直在研究一个 Visual Studio C++ Windows 应用程序项目,它使用了两个函数 SetWindowExt (...) 和 SetViewportExt (...).我对这两个功能的作用以及为什么它们是必要的感到困惑.搜索这些函数,我想到了逻辑坐标和设备坐标的概念. 谁能解释一下这两个概念的重要性? 解决方案 设备坐标是最容易理解的.它们与您使用的设备直接相关,例 ..
发布时间:2022-01-12 15:23:52 C/C++开发

错误 C2248:“CObject::CObject":当我在 MFC 中调用 hDC.SelectObject 函数时,无法访问在“CObject"类中声明的私有成员

我在 MFC (Visual Studio 2013) 中为 WinCE 2013 开发了一个简单的程序,使用 GDI 方法在设备上下文上绘图.不幸的是,当我尝试在上下文设备句柄上调用 SelectObject 时出现错误:“错误 C2248:‘CObject::CObject’:无法访问在类‘CObject’中声明的私有成员" 我附加了一个调用 SelectObject 方法的函数. ..
发布时间:2022-01-12 15:05:57 C/C++开发

SelectObject 函数如何选择和销毁 GDI 对象

由于我是 Visual C++ 的新手,这可能是一个与选择 GDI 对象相关的非常基本的问题. 以下代码段绘制了一个没有边框的浅灰色圆圈. cPen pen(PS_NULL, 0, (RGB(0,0,0)));dc.SelectObject(& 笔);CBrush笔刷(RGB(192,192,192));dc.SelectObject(和画笔);dc.Ellipse(0,0, 100,10 ..
发布时间:2022-01-12 14:41:49 C/C++开发

Windows 7 中的 GDI 加速/绘制到内存位图

我的 GDI 程序在 Windows XP 上运行良好,但在 Windows Vista 和 7 上,由于缺少 GDI 硬件加速,它看起来很糟糕.我记得几年前读过一篇文章,说 Windows 7 为一些 GDI 函数添加了硬件加速,包括 BitBlt() 函数.据推测,如果您绘制到内存位图,然后使用 BitBlt() 将图像复制到主窗口,它的运行速度与 XP 大致相同.这是真的吗? 如果是真 ..
发布时间:2022-01-12 14:36:53 C/C++开发

Heisenbug:WinApi 程序在某些计算机上崩溃

请帮忙!我真的束手无策.我的程序是一个小小的个人笔记管理器(谷歌搜索“cintanotes").在某些计算机上(当然我不拥有它们),它在启动后因未处理的异常而崩溃.这些计算机没有什么特别之处,只是它们往往具有 AMD CPU. 环境:Windows XP、Visual C++ 2005/2008、原始 WinApi. 这是关于这个“黑森虫"的肯定: 1) 崩溃仅发生在 Relea ..
发布时间:2022-01-12 11:18:13 C/C++开发

来自窗口屏幕截图的模板匹配

我做了什么 我有一个小模板图像,用于在较大的屏幕截图图像中查找匹配子图像的坐标.屏幕截图本身在 BitBlt 的帮助下被捕获到内存 DC,然后通过 GetDIBits 转换为 cv::Mat,如下所示: HDC windowDc = GetWindowDC(hwndTarget);HDC memDc = CreateCompatibleDC(windowDc);//...HBITMAP h ..
发布时间:2022-01-09 18:23:51 C/C++开发