DrawString和padding ......再次?

时间:2015-11-05 01:28:05

标签: c#

在我的路径中学习c#我在一个最明显的方式中遇到了使用DrawString的问题(至少我认为,我认为现在还是这样):左对齐。

如果我必须使用不同尺寸的字体打印多个线条,使用不同尺寸的字体,它们在左侧位置不完全对齐,但总会有一些空白区域。

我知道,这件事已经被问过很多次了,无数的网站都会检查它,但不幸的是我找不到任何正常的解决方案。

这是我的作业:

int x = 2480;
int y = 3508;
Bitmap bmp = new Bitmap(x, y);
bmp.SetResolution(300, 300);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);

A4纸张的简单表示。这里没什么可看的。

他们说,加上这个:

g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;

或其他类似的反别名内容 - 判决:USELESS。

他们说,使用一个很好的字符串格式:

StringFormat sf = new StringFormat(StringFormat.GenericTypographic);
sf.LineAlignment = StringAlignment.Near;
sf.Alignment = StringAlignment.Near;
sf.Trimming = StringTrimming.None;
带着许多花哨的旗帜 - 判决:USELESS。

他们是,那些:

SolidBrush b = new SolidBrush(Color.Black);
Font f32 = new Font("Arial", 32);
g.DrawString("Company name", f32, b, 0, 0, sf);
Font f14 = new Font("Arial", 14);
g.DrawString("Address somewhere", f14, b, 0, 100, sf);

他们也说,用另一种方式:

Rectangle r = new Rectangle(0, 0, 1000, 1000);
TextFormatFlags flags = TextFormatFlags.NoPadding | TextFormatFlags.Left | TextFormatFlags.NoClipping | TextFormatFlags.TextBoxControl;
TextRenderer.DrawText(g, "Company name", f32, r, Color.Black, flags);

有许多旗帜在各种组合中 - 判决:USELESS。

许多帖子/网站都说:使用MeasureString。 太好了,当我有神话般的“措施”时,我应该怎么做呢? 如果我尝试使用带有该度量的Rectangle来封闭字符串,则不会显示任何内容,可能是因为字符串周围没有空格

任何帮助表示赞赏。谢谢你的阅读。

0 个答案:

没有答案