问题标签 [drawstring]

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 投票
5 回答
5961 浏览

c# - drawString 方法如何用于编写对角线方式

我正在使用 c# 2005 我想在图像上对角写入字符串。但默认情况下,c# 提供水平或垂直书写的选项。

我们如何对角书写?

谢谢

0 投票
5 回答
14698 浏览

gdi+ - MeasureString() 在左边和右边填充文本

我在 C++ 中使用 GDI+。(这个问题也可能存在于 C# 中)。

我注意到,每当我调用 Graphics::MeasureString() 或 Graphics::DrawString() 时,字符串的左右两侧都会填充空格。

例如,如果我使用的是 Courier 字体(不是斜体!)并且我测量“P”我得到 90,但“PP”给我 150。我希望等宽字体给出的宽度正好是“PP”的两倍.

我的问题是:这是预期的还是记录在案的行为,我该如何禁用它?

0 投票
2 回答
5276 浏览

c# - C#/.NET 中 OwnerDraw 工具提示上的文本对齐

我有一个多行文本字符串(例如“Stuff\nMore Stuff\nYet More Stuff”),我想将它与位图一起绘制到工具提示中。由于我正在绘制位图,因此我需要将 OwnerDraw 设置为 true,我正在这样做。我也在处理 Popup 事件,因此我可以将工具提示的大小调整到足以容纳文本和位图的大小。

我正在调用 e.DrawBackground 和 e.DrawBorder(),然后在工具提示区域的左侧绘制我的位图。

是否有一组标志我可以传递给 e.DrawText() 以便左对齐文本,但要偏移它以便它不会被绘制在我的位图上?或者我是否还需要自定义绘制所有文本(这可能涉及在换行符上拆分字符串等)?

更新:最终代码如下所示:

0 投票
2 回答
1271 浏览

c# - 如何使用 Graphics.DrawString 绘制双高文本?

我正在尝试使用 System.Drawing 模拟 POS 打印机,我需要的功能之一是以双倍高度绘制文本。知道如何使用 .Net 的 Graphics 类来做到这一点吗?

我需要将文本绘制两倍大并压缩它还是绘制正常大小然后拉伸?两者似乎都是混乱的选择,但还有其他选择吗?

0 投票
2 回答
13429 浏览

c# - 使用自定义 TTF 字体进行 DrawString 图像渲染

我在服务器端使用 GDI+ 创建一个流式传输到用户浏览器的图像。没有一个标准字体符合我的要求,所以我想加载一个 TrueType 字体并使用这个字体将我的字符串绘制到图形对象:

myCustom表示未安装在服务器上的字体,但我有 TTF 文件。

如何加载 TTF 文件以便在 GDI+ 字符串渲染中使用它?

0 投票
1 回答
1431 浏览

.net - 在 GDI+ 中使用“DrawString”的小型大写字母/多种字体和粗体

我想用小型大写字母结合不同字体的不同单词写出一些文本。

为了澄清,我可能希望将消息“欢迎来到我们的新网站”生成为页面标题的 PNG 文件。

  • 文本将是小型大写字母——所有内容都大写,但“W”、“N”和“W”稍大。
  • “新网站”将采用与文本其余部分不同的字体。

有没有办法我可以做到这一点而无需完全手动完成?

做这样的事情在概念上是我想做的:

到目前为止我能找到的最好的方法是here,但我担心我会不厌其烦地手动执行此操作并最终导致一些可怕的字距调整或跟踪 问题。

编辑:我应该提到这是在 ASP.NET 中完成的,因此它需要尽可能快速和精简。我希望它是自动化的,这样我就可以轻松地进行本地化,而不必创建大量的小图像。

0 投票
3 回答
1437 浏览

c++ - 在 GDI+ 中的画布上绘制图像时如何获取单词的长度和高度

我在 C++ 中使用 GDI+ 在画布上绘制了一个字符串。是否有任何 API 可以获取特定字体的字符串的外层(宽度、高度)?非常感谢!非常感谢 Windows 程序员的解决方案。我写了以下代码。

我需要使用真实的图形来调用 MeasureString 吗?有没有办法在不创建大型图形实例的情况下获得字宽、字高?我发现这是资源消耗。

0 投票
2 回答
226 浏览

colors - 使用 Graphics.Drawstring() 时防止颜色溢出?

使用 vb .net Graphics.Drawstring 方法时,如何防止颜色相互渗透。这发生在真正不应该一起使用的颜色上,例如绿色/橙色和黑色和红色。谢谢

0 投票
3 回答
2864 浏览

c# - 为什么 DrawString 在 C# Winforms 中表现出意外行为?

我在 C# WinForms 中对控件进行了子类化,并且在我的OnPaint()处理程序中自定义了绘图文本。在我的表单中使用以下代码将字体设置为 Courier New:

在控件本身中,字符串存储在 中realText,我使用以下代码将其绘制到屏幕上:

一些随机示例文本的结果如下所示:http: //img219.imageshack.us/img219/1778/courier.png

例如,如果放大,您可以看到第一个“as”之间的空间与第二个“as”之间的空间不同(1 个像素对 2 个像素)。有谁知道可能导致这种情况的原因,或者我如何防止它发生?当我用不同的字体绘制时,间距有更多类似的怪异,但我认为它们都是同一个问题的结果。

提前感谢您的任何想法。

0 投票
4 回答
21221 浏览

.net - C#如何在物体前面绘制?

您如何绘制应该在其他所有内容之上的字符串?现在在我的面板中,我在 Panel1.Controls 中有一些用户控件。所以我将它添加到 Paint 方法中:

问题是文本打印在用户控件后面,所以看不到。(如果我在打开的情况下更改文本的位置,它会正确显示)。

有任何想法吗?