在C#中创建图像然后在页面上进行布局

时间:2017-08-03 06:21:29

标签: c#

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

我在这里阅读了this个问题,但是它使用了文本的大小,这可能会因项目名称而异。 TextBox(或任何持有文本的内容)需要具有相同的大小,但文本比例必须基于其大小。

1 个答案:

答案 0 :(得分:2)

查看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
  5. 我会对生成的代码进行模拟,但目前我无法访问C#IDE。