【问题标题】:PDFsharp Change OriginPDFsharp 更改原点
【发布时间】:2015-08-03 19:41:46
【问题描述】:

我正在使用PDFsharp 绘制相当复杂形状的线条。为了简化此过程并使其更易于理解,我想将页面左上角的原点更改为左下角。目前,更改原点为not yet implemented。有没有办法可以使用RotateTransformTranslateTransform 或其他方法将原点重新定位到左下角?据我所知,旋转变换围绕原点旋转。可能有一个我不知道的技巧。使用

gfx.RotateTransform(180);
gfx.TranslateTransform(-612, -792); // Assumes 8.5 inch x 11 inch at 72 points/inch

我可以将它移到右下角,使 x 向左增加,但添加的文本是颠倒的。

有没有办法真正将原点移动到左下角,使 y 向上增加而 x 向右增加?提前致谢。

编辑: ThomasH 的回答将原点移到左下角,但文本仍然翻转。有没有办法克服这个问题?在此处查看自包含示例:http://pastebin.com/fgfjDXF1

【问题讨论】:

    标签: rotation pdf-generation pdfsharp


    【解决方案1】:

    TranslateTransformScaleTransform(1,-1) 的组合应该可以满足您的需求。

    【讨论】:

    • 谢谢!这将原点移动到左下角,但文本仍然是颠倒的。这是 ScaleTransform 的副作用吗?如果是这样,是否有一些修改可以避免它?
    • 这是一个说明文本问题的自包含示例:pastebin.com/fgfjDXF1
    • 通过使用 XGraphics 的 Save() 和 Restore() 方法解决了我的特定应用程序的颠倒文本。我做两遍。保存初始状态。根据这个答案首先缩放和平移,绘制形状,并记录应该绘制标签的点。然后恢复初始状态。现在第二遍涉及进行平移但不进行缩放,然后在点处写入标签。这样它们就会出现在正确的位置上。
    猜你喜欢
    • 2011-12-28
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多