c# - XGraphics 从字符串末尾绘制字符串
问题描述
我正在绘制两个字符串,如下所示:
gfx.DrawString("Complete Total (Ex VAT) £" + string.Format("{0:0.00}", totalCompletePrice), new XFont(roboto, 10 * 4, XFontStyle.Regular), XBrushes.Black, new XPoint(2445, 2225));
gfx.DrawString(header + " Total (Ex VAT) £" + string.Format("{0:0.00}", totalCompletePrice), new XFont(roboto, 10 * 4, XFontStyle.Regular), XBrushes.Black, new XPoint(2445, 2295));
但我的问题是它们不符合文档的结尾。我想不出一种从头开始绘制这些字符串的方法。所以 1,000.55 英镑总是相互对齐。
例子:
This is a really long header total £999.99
Complete Total (Ex VAT) £9999.99
我想得到它,所以价格彼此一致。有没有办法指定字符串放置的结束坐标并将其向后绘制?所以它从字符串的末尾开始并从该点绘制其余部分。我尝试了测量字符串功能,但它似乎无法正常工作。
我试过End X co-ord - text length
了,但没有正确对齐它们。
解决方案
尝试一个变体XGraphics.DrawString
,它带有一个XStringFormat
参数并指定例如XStringFormats.TopRight
或另一个右对齐选项。
您也可以使用XTextFormatter
该类。可以在此处找到显示右对齐文本的演示:http:
//pdfsharp.net/wiki/TextLayout-sample.ashx
推荐阅读
- php - 如何使用 docker 在 Laravel 上运行队列工作?
- node.js - 无法从gmail中的链接下载文件
- python - 如何在 sns countplot 中仅堆叠一个条形图
- xamarin - 无法在发布模式下编译导致链接器 - Xamarin.Forms App
- oracle - 在触发器中访问没有 :OLD 和 :NEW 的旧值和新值
- c# - (C#) 在 (EC)DHE x25519 上使用私钥和公钥计算密钥份额
- events - JTOpen IFS 事件
- javascript - Nestjs 更新为其他字段返回 null,从而产生验证问题
- c++ - 为什么模板模板参数中的概念没有得到验证?
- php - 如果满足条件,则追加 array_merge