【问题标题】:Creating an image in C# then laying out on page在 C# 中创建图像然后在页面上布局
【发布时间】:2018-01-10 14:15:27
【问题描述】:

我需要使用电子表格并将其转换为价格标签。我已经完成了那部分,但我不确定如何制作包含价格和项目名称的图像(这都存储在列表中。)然后将其放在 8 1/2 x 11一张纸。

我在这里阅读了this 问题,但它使用了文本的大小,这可能因项目名称而异。文本框(或任何包含文本的内容)需要具有相同的大小,但文本的大小取决于其大小。

【问题讨论】:

  • 您的目标是什么:Winforms、WPF、ASP..? 始终正确标记您的问题!
  • 输出应该是什么? Png文件还是纸?你可能想学习this post..

标签: c#


【解决方案1】:

看看these docs,尤其是他们的示例pd_PrintPage 函数。这需要一个 PrintPageEventArgs,其中包含一个 Graphics 对象,您可以使用它来实际呈现您的标签。

特别是,为了利用您的 linked question,有一个 DrawImage(Image, Int32, Int32) 方法可以在坐标处呈现给定图像。

要处理文本的缩放,您只需将使用一种字体的文本的大小与您想要的大小进行比较 - 计算出宽度/高度的比率,然后缩放您用于渲染的字体,以便使用这些比率中最小的一个。 here 有一个很好的答案,它显示了如何做到这一点。

所以:

  1. Handle a print event
  2. Find the right font size
  3. Create your image
  4. Print with your graphics object

我会对生成的代码做一个模型,但目前我无法访问 C# IDE。

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2014-02-09
    • 1970-01-01
    • 2012-10-22
    • 2011-09-21
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多