问题标签 [textout]

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 回答
3225 浏览

winapi - 是否可以确定 Windows 为字体链接选择的字体?

假设您有一个包含两个或多个脚本中的文本的字符串。当您使用 GDI 函数TextOut时,(现代版本的)Windows 将执行“字体链接”。也就是说,GDI 将使用您选择的字体绘制它可以绘制的内容,并以它自动选择的适当字体绘制其余部分。例如,如果您的文本一部分是英文(使用罗马字母),一部分是中文(使用 CJK 字符),并且您选择了 Arial,则英文部分将使用 Arial 绘制,而中文部分将用另一种具有 CJK 字形的字体绘制。

我的问题是,有没有办法确定TextOut为字体链接选择(或确实选择了)哪些字体?

我必须使用不执行自动字体链接的低级 Uniscribe API 绘制一些文本。TextOut我已经实现了自己的字体链接,但有时我的算法会选择与相同文本不同的字体。我试图更好地理解 Windows 算法,但我并不擅长识别字体(尤其是在不熟悉的脚本中)。

0 投票
2 回答
620 浏览

text - 是否可以在 Win32 中的 8bpp 位图上绘制抗锯齿文本?

我在 CDC 中选择了一个 8bpp 位图,并使用 ::TextOut () 来绘制文本。字体质量为 ANTIALIASED_QUALITY,但文本以单色显示;没有灰色像素和锯齿状边缘。

8bpp 位图是从 24bpp 位图中提取的,该位图中已经绘制了抗锯齿文本,并且该文本是可以的。(两种文本类型都在同一个位图中。)

当然,我可以利用 24bpp 并转换,但这更复杂和更慢。(后面的文本会发生变化,并且会重复很多次。)是否可以将抗锯齿文本直接转换为 8bpp 位图?谢谢!

0 投票
1 回答
1815 浏览

delphi - 如何更改 TCanvas 中 textOut 的高度?

我正在使用 TextOut() 在 TCanvas 上绘制文本,但我想要更大的字体。

我能做些什么?

0 投票
1 回答
2724 浏览

c++ - win32:TextOut 未显示

我最近让我的主窗口使用 WM_PAINT 编写文本,但现在我意识到这可能不是最好的消息,所以我正在尝试另一个版本;

主窗口包含一个菜单,单击菜单项时会发送 ID_FILE_PID 消息,它会构建 4 个新窗口并在主窗口中显示文本(paintEditSigns 函数)。4 个窗口工作正常,但文本根本不起作用,除非我在 main() 函数中这样做,如图所示......这到底是什么?O_O

顺便说一句:我仍然不知道为什么 StackOverflow 上的代码显示在我发布时看起来如此奇怪,这是为什么呢?

0 投票
3 回答
1145 浏览

windows - 亚洲字符的显示(使用 Unicode):与使用 ExtTextOut 相比,在 RichEdit 控件中显示时字符间距的差异

这张图说明了我的困境:

图片1

所有字符的大小似乎都相同,但在 RichEdit 控件中显示时与使用 ExtTextOut 时相比,它们之间的空间不同。

我想呈现与 RichEdit 控件中相同的字符(理想情况下),以保留换行位置。

谁能告诉我:

a)哪个是更正确的表示?

b)为什么 RichEdit 控件显示的文本在亚洲字符之间没有间隙?

c)有没有办法让 ExtTextOut 在绘制这些字符时重现 RichEdit 控件的行为?

d)如果我使用的是亚洲版本的 Windows,这会有什么不同吗?

也许我很乐观,但如果有人有任何暗示,我很想听听。

如果有帮助:

这是我的文字:

向亚洲读者道歉,这只是为了测试我们的 Unicode 实现,我什至不知道这些字符来自什么语言,更不用说它们是否意味着什么

为了通过将这些字符粘贴到 RichEdit 控件(例如写字板)中来查看效果,您可能会发现您必须滑动它们并将字体设置为“Arial”。

我获得的富文本是:

它似乎不包含我第一个想到的角色“音高”的值。

0 投票
2 回答
2806 浏览

winapi - 在 WM_COMMAND 中使用 TextOut()

我正在尝试在WM_COMMAND案例中打印文本,因为我需要在按下按钮后打印文本。

这是我的代码:

可悲的是它没有打印任何东西。

编辑:

我可以TextOut()WM_COMMAND这种情况下使用:

0 投票
1 回答
1077 浏览

directx - EndPaint 挂钩以将文本绘制到 DirectX 窗口

我想在 DirectX 游戏中绘制文本,所以我注入了一个挂钩 EndPaint 的 DLL。我的逻辑是,由于 EndPaint 应该是 WM_PAINT 操作的最后一步,我可以在我的钩子中绘制文本,然后自己调用 EndPaint。通过这样做,我完全避免了 DX 界面。

问题是它什么也没做。这是我的代码。

我知道问题不在于我的AttachHook/DetachHook函数,因为我已经通过消息框进行了测试并确认已安装挂钩。文字根本没有出现。

有人知道吗?我真的不想挂钩DX接口。它不应该以任何一种方式工作,因为 WM_PAINT 仍在基本级别使用吗?

提前致谢。

0 投票
1 回答
820 浏览

c++ - DLL 注入:DrawText 和 TextOut 不返回所有文本

我成功地将我的 DLL 注入到程序中。但是我想从 ListBox 中获取信息。WM_GETTEXT 不起作用,所以我不得不进行 dll 注入。我收到大量文本,但从所需的控制中我什么也没有。

这是我的代码:

我的问题是:有什么我想念的吗?我的意思是还有其他方法可以从应用程序中获取文本吗?因为当我做我的研究时,这应该给我程序中的所有文本。

非常感谢您的帮助!

0 投票
0 回答
458 浏览

winapi - TextOut() 函数显示文本,但当窗口最小化或恢复时文本消失

我正在取消 TextOut() 函数以在我的窗口中显示一些文本。它工作正常,一旦窗口最大化,文本就会显示。但是一旦窗口最小化并再次恢复,窗口上显示的所有文本都会消失:(有什么方法可以保留窗口上显示的数据如果它被最小化了?等待响应:(

0 投票
2 回答
13101 浏览

c - 使用 C 在窗口中显示字符串输出(在 WIN32 API 中)

我想要一种正确的方式来输出字符串并将其显示在创建的窗口上。我一直在使用 textout() 函数,但由于它只绘制窗口,一旦窗口最小化并恢复回来,窗口上显示的数据就会消失。同样当要显示的数据超过Window的大小时,只显示等于窗口大小的数据,其他数据被截断。有没有其他方法可以在窗口上输出数据?