问题标签 [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 投票
4 回答
24703 浏览

c# - 在透明像素上使用 DrawString 渲染错误的文本

将文本渲染为位图时,我发现在具有非不透明 alpha 的区域顶部渲染时,文本看起来很糟糕。随着底层像素变得更加透明,问题越来越严重。如果我不得不猜测,我会说当底层像素是透明的时,文本渲染器会将任何抗锯齿的“灰色”像素绘制为纯黑色。

以下是一些截图:

在透明像素上绘制的文本:

替代文字

在半透明像素上绘制的文本:

替代文字

在不透明像素上绘制的文本:

替代文字

这是用于呈现文本的代码:

0 投票
2 回答
19392 浏览

vb.net - Graphics.Drawstring 在 PictureBox 中看起来不错,但在 Bitmap 中却很糟糕

我正在尝试使用DrawString将文本写为图像,然后将其旋转 90 度。它适用于位图或直接在 PictureBox 上,但最大的区别在于质量。绘制的PictureBox文字质量很好,看起来不错。当我在图像上绘制它时,它看起来很可怕而且块状。我做了一些改变,试图让它看起来更好,但它看起来并不像它应该的那么好。

示例代码:

使用 Windows 窗体项目并在其上放置 2 个图片框和一个按钮,然后使用以下代码运行它以了解我的意思:

0 投票
2 回答
3323 浏览

c# - C# Graphics.DrawString 不呈现特殊字符?

我正在尝试将一些任意文本写入自定义控件。
我的代码有效,但是当我尝试绘制诸如 ü 之类的字符时,它会在字符所在的位置显示一个空方块。
我需要它来工作,因为我打算支持本地化。
我已经检查过了,Tahoma 有所需的字符。我的代码如下:

有人知道怎么修这个东西吗?

0 投票
1 回答
1343 浏览

windows-mobile - Compact Framework:用椭圆绘制多行字符串

我正在为 Windows Mobile 应用程序创建从 ListView 继承的所有者绘制控件。我Graphics.DrawString用来写出两行文本字符串(使用.NET CF 3.5)。问题是某些项目的文本特别长,不适合两行。谷歌搜索找到了使用MeasureString和手动截断我的字符串的方法,但这仅适用于单行字符串。有什么办法可以在这里得到省略号,还是我必须接受剪切的文本或重新设计以仅使用一行?(两者都不是交易破坏者,但省略号肯定会很好。)

0 投票
4 回答
1342 浏览

c# - .Net DrawString 字体引用在调用后发生变化

给定以下代码。第一个 DrawString 方法是否有可能在 Arial 而不是 Times New Roman 中绘制?

我有一个问题,基本上这段代码会间歇性地以错误的字体绘制第一个字符串。我现在已将代码更改为具有两个静态字体引用,但由于我无法重现代码,我无法确定它是否解决了问题。

注意: loc 是一个可以被实际代码改变的位置,我在这里去掉了一些代码来简化

这是我修复的整个方法。如果你看不出它有什么问题——我会去责怪一些宇宙射线之类的……

固定代码现在如下所示。现在更少的 GDI 调用:

如果我打算让它变得更加优化,我会将矩形测量部分放在 OnResize 的覆盖中,但我认为现在可以这样做......

0 投票
1 回答
570 浏览

c# - .net DrawString 具有零宽度字符的希伯来字体

DrawString 中是否有任何其他属性或参数来解决此问题。我有一个带有许多零宽度字符的希伯来字体,因此两个字符应该呈现在同一个位置。

此示例显示左侧的 .NET 问题,右侧应为:

http://hebrewresources.com/html5/images/rendering_issue.png

Word 和 Visual Studio 文本框的呈现方式相同,但在 SumTotal'sToolbook 中,它可以正确呈现。

这实际上是 15 年前的一种非常古老的真字体,甚至不是从右到左的字体。我可能会切换到更新的字体,但是我必须编写一个程序来重新映射每个字符和元音。

0 投票
1 回答
5204 浏览

c# - 用户在 c# 中的图片框上放置文本

我正在尝试制作一个工具,允许我选择图片框上的某个位置来放置文本框中的文本。它需要能够在图片框上放置多个不同的文本,然后才能被删除。这是我当前的代码:

目前我可以在文本框中输入文本,但无法在图片框上绘制字符串并选择其位置。我有一个按钮,用于确认写入的文本是否正确,然后允许用户选择其位置。请有人可以帮我整理一下这段代码吗?

谢谢-

0 投票
2 回答
5626 浏览

c# - 如何使用 C# graphics.DrawString 绘制 unicode 字符串

我正在尝试使用 .NET 框架提供的 PrintDocument 将高棉脚本(unicode)字符串发送到打印机。

不幸的是,在我看来 Graphics.DrawString() 不能正确呈现高棉脚本。

平台:Windows 7 Ultimate
IDE:VS 2010 Ultimate

这是示例代码:

0 投票
1 回答
1921 浏览

asp.net - 使用 DrawString 方法 (ASP.NET) 渲染图像的丑陋

我想在 ASP.NET 中将一些文本呈现为图像。它运行良好,但即使我通过更改图形 TextRenderingHint 选项打开 AntiAlias(或 ClearType),文本也会变得非常难看(文本周围有灰色像素)。

以下是相关代码:

这里是生成图像的链接(缩放):

在此处输入图像描述

未缩放的图像:

在此处输入图像描述

我该如何解决这个问题?

0 投票
2 回答
11441 浏览

.net - 在矩形内填充文本

我正在使用 GDI+ 在 Graphics 对象上绘制一个字符串。

我希望字符串适合预定义的矩形(不破坏任何线条)

除了在循环中使用 TextRenderer.MeasureString() 直到返回所需的大小之外,还有其他方法吗?

就像是: