【问题标题】:Printing drawn objects in C#在 C# 中打印绘制的对象
【发布时间】:2012-09-11 06:07:41
【问题描述】:

我有一个应用程序,它使用在面板上绘制对象

private void Canvas_Paint(object sender, PaintEventArgs e)

该函数绘制用户定义数量的代表聚氨酯模具的矩形。面板上还有一些字符串标记“模具”。面板是可滚动的,就像我说的那样,它里面有可变(并且可能很大)数量的矩形。

我被要求为这些矩形提供打印功能。我对 C# 完全陌生,事实上我在这个程序之前从未使用过它。有没有办法把我在面板上画的东西打印出来?我已经看到了一些绘制到 PrintDocument 的方法,但看起来我必须在 PrintPage 函数中重新绘制它们。我只想打印我已经画的东西。

【问题讨论】:

  • 将代码从 Paint 事件处理程序移动到一个单独的辅助方法,该方法将 Graphics 作为参数。从面板的 Paint 和 PrintDocument 的 PrintPage 事件处理程序调用此方法。轻松愉快。

标签: c# printing gdi+ system.drawing


【解决方案1】:

面板上的图像应该可以通过 .Image 属性访问。 使用新的图形对象,将该图像绘制到 PrintDocument。

或者,您可以在绘制时在表单中保留对图像的引用。

但是,由于打印机和屏幕之间的差异,您可能需要使用不同的抗锯齿设置等重新渲染整个画面。

【讨论】:

  • 在面板上看不到任何图像属性。
  • 刚刚决定重绘所有内容。你的设置是对的......字体大小不同。
猜你喜欢
  • 1970-01-01
  • 2019-03-24
  • 2015-03-27
  • 1970-01-01
  • 2023-03-18
  • 2019-04-26
  • 2023-03-27
  • 2011-09-27
  • 1970-01-01
相关资源
最近更新 更多