问题标签 [gdi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2314 浏览

c++ - 如何绘制具有透明背景 (GDI) 的 patternBrush?

我无法绘制具有透明背景的图案。这是我的片段:

msdn上的文档没有提到任何关于透明度的内容。我猜这个模式可以用吗?或者这是一个错误?

谢谢!

0 投票
10 回答
14952 浏览

asp.net - GDI+ 中出现一般错误

我的代码是:

在我的本地机器上一切正常 - 但仍然发生......在服务器(2003)上 - 我有文件夹权限......一切......

0 投票
5 回答
4366 浏览

gdi - “独占” DirectDraw 调色板实际上并不是独占的

我们正在维护一个使用 DirectDraw 的全屏 256 色图形模式的旧视频游戏。问题是,某些在后台运行的应用程序有时会在游戏运行时尝试更改系统调色板,从而导致图形损坏。

我们可以(有时)通过处理 WM_PALETTECHANGED 消息来检测何时发生这种情况。几个更新版本之前,我们添加了日志记录(只记录窗口标题/类/进程名称),这有助于用户识别有问题的应用程序并关闭它们。MSN Live Messenger 是一个常见的罪魁祸首。

当我们发现 Windows Vista(和 7)“自行”完成时,问题变得更糟了。WM_PALETTECHANGED 参数指向 CSRSS 和桌面窗口。在 Vista 中,一种常用的解决方法是打开任何文件夹(计算机、文档等)并在运行游戏时将其保持打开状态。听起来很荒谬,但它确实有效——在大多数情况下。在 Windows 7 中,即使是这种解决方法也不再有效。用户发现停止某些服务(Windows 更新和索引服务)也解决了某些配置上的问题。

前段时间我刚开始尝试随机的东西,希望能找到解决方案。我发现在设置 DirectDraw 调色板(使用 IDirectDrawPalette::SetEntries)之前设置 GDI 调色板(使用 Create/SelectPalette)会在调色板损坏后恢复它(WM_PALETTECHANGED 处理程序)。SetSystemPaletteUse 和在主表面上调用 SetPalette 提供了更多帮助。然而,当应用程序试图窃取调色板时,仍然存在可察觉的闪烁,这在淡入淡出期间尤为突出。

问题:有没有办法获得一个“真正的”专有调色板,只要我们的游戏保持焦点,就完全不允许其他应用程序更改 Windows 调色板?

0 投票
2 回答
1638 浏览

winapi - 如何使用 GDI 围绕圆形路径绘制文本?

我需要使用 C/C++ 沿着圆形路径将文本绘制到窗口 HDC 上,而且我在搜索几个小时后被谷歌盯上了。有人可以指点我一个好的参考吗?

0 投票
3 回答
1464 浏览

c# - 在 C# 中将 JPG 与 GDI 合并

我的场景:

  • 我有一张彩色背景图片 JPG。
  • 我在白色背景 JPG 上有一个黑色文本。
  • 两张图片大小相同(高度和宽度)

我想在彩色背景图像上覆盖黑色文本和白色背景的图像,即白色背景变得透明以查看其下方的彩色背景。

如何在 C# 中使用 GDI 执行此操作?

谢谢!

0 投票
3 回答
3474 浏览

gdi+ - GDI+ 只是 GDI 之上的一层,还是新的东西?

当 GDI+ 出现时,我记得所有关于它是如何在 Windows 中显示内容的“新、更快、更好”的方式的喧嚣。但每次我看它时,在我看来它实际上只是 GDI 的一个 COM 包装器。

真的吗?还是 GDI+ 真的是一个独立的图形库,只是与 GDI 共享一些范例?

就个人而言,我不确定它如何独立,但我从未以某种方式看到明确的声明。

0 投票
9 回答
7775 浏览

.net - 使用标准 .NET GDI 打印类从 .NET 生成 PDF 文件

我正在寻找一种使用 .NET 中的标准 PrintDocument 和 Graphics (GDI) 类生成 PDF 文件的方法。据我所知,唯一的方法是打印到 PDF 打印机。

问题是 PDF 打印机驱动程序总是要求提供文件名,但我需要从我的代码中控制文件名。使用 PDFSharp 或 DynamicPDF 之类的 PDF 库不是一种选择,因为它们都提供了自己的 API 来生成 PDF 文件。

我需要这个用于内部应用程序,所以依赖关系不是问题。

我的问题很简单:有没有办法控制打印机驱动程序(Adobe Acrobat、PDFCreator、...),从而可以指定文件名并且不提示用户输入任何内容?

0 投票
4 回答
4797 浏览

c++ - 如何提高DrawDIB的质量?

我在 c++ 中编码,gdi 我使用stretchDIBits 将图像绘制到 dc。

但是它很慢。所以我改用 DrawDib 函数。

然而,结果就像通过 COLORONCOLOR 模式绘制一样。如何提高绘图质量?

0 投票
2 回答
4094 浏览

windows - 在高分辨率显示器上映射字体大小时使用什么比例因子?

我们有一个要求,我们的应用程序需要支持高分辨率显示器。目前,当应用程序出现在高分辨率监视器中时,它显示的文本太小。我们默认使用 Arial 12 点字体。

现在要使文本可见,我需要按比例更改字体大小。我发现很难想出一个公式,在给定显示器分辨率的情况下给我目标字体大小。

这是我对问题的理解。

1) 在 Windows 上,默认情况下 96 像素对应于 1 逻辑英寸。这意味着当显示器分辨率增加时,以逻辑英寸为单位的屏幕尺寸也会增加。

2) 1 点字体是逻辑英寸的 1/72。因此,结合每逻辑英寸有 96 个像素的事实,结果表明,每个字体点有 96/72 个像素。

这意味着对于 12 点字体,它将占用的像素数是 12*96/72 = 16 像素。

现在我需要知道我需要增加这些像素数的比例因子,以便生成的字体正确可见。如果我知道缩放的像素数,我可以简单地将字体大小除以 (96/72)

什么是建议的缩放因子,以确保在所有显示器分辨率上正确缩放字体?

另外,如果我的理解有误,请指正。

0 投票
8 回答
1289 浏览

c++ - 为什么windows让你在整个屏幕上绘图?

我一直在用获得的 DC 玩大游戏CreateDC(L"DISPLAY",NULL,NULL,NULL),我一直想知道为什么 windows 可以让你轻松地在整个屏幕上绘图,因为我认为你可以用它做一些非常邪恶的事情,比如将 TIMER 设置为 1ms 和每次计时器滴答时在整个屏幕上绘制一个黑色矩形。