【问题标题】:How do I print an image that is in the clipboard using C#?如何使用 C# 打印剪贴板中的图像?
【发布时间】:2010-11-09 16:55:59
【问题描述】:

我正在像这样将图像复制到剪贴板:

using (MemoryStream ms = new MemoryStream())
{
    chart1.SaveImage(ms, ChartImageFormat.Bmp);
    Bitmap bm = new Bitmap(ms);
    Clipboard.SetImage(bm);
}

如何打印图像?

【问题讨论】:

  • 呃,将它粘贴到 MSPaint 中并打印出来?把它放在剪贴板上有什么意义?
  • “erm”就像“嗯”。我第二个问题:你为什么把它放在剪贴板上?
  • 我认为 Hans 想说的是:当图像在剪贴板中时,您需要将其“粘贴”到某处(例如 MSPaint)并从那里打印...
  • @john 那么我还怎么打印呢?这就是我想说的。我不需要使用剪贴板,但我需要打印控件
  • Raymond Chen 曾经说得很好:“对于技术问题,你经常会得到一个让你难以置信的问题,但仔细询问,你会发现这个人真的不想要什么他们要求。他们真正想要的是别的东西,但他们已经“解决”了一半问题,只需要你帮助另一半——那一半没有任何意义。”

标签: c# .net winforms printing clipboard


【解决方案1】:

将您的位图传递给此方法:

void PrintBitmap(Bitmap bm)
{
    PrintDocument doc = new PrintDocument();
    doc.PrintPage += (s, ev) => {
        ev.Graphics.DrawImage(bm, Point.Empty); // adjust this to put the image elsewhere
        ev.HasMorePages = false;
    };
    doc.Print();
}

【讨论】:

  • 错误3 当前上下文中不存在名称'ev'
【解决方案2】:

使用Clipboard.GetImage() 函数从剪贴板获取图像,然后照常打印。 :)

【讨论】:

  • 问题是我如何以编程方式打印它
  • @i am a girl - 那么,为什么是剪贴板?您需要的是Image(并且Bitmap 派生自Image)。查看 plinth 的答案。
猜你喜欢
  • 2011-03-16
  • 2021-03-29
  • 2014-01-31
  • 2018-03-16
  • 2017-06-06
  • 2011-01-01
  • 2011-10-14
  • 1970-01-01
  • 2013-07-08
相关资源
最近更新 更多