我想打印一個對話框的圖像,就像使用[alt] [Print Scrn]一樣。框架是否允許以編程方式完成此任務?.NET 2.0 WinForm打印屏幕
0
A
回答
8
Graphics.CopyFromScreen(..)方法應該做你需要的。
這裏有一個很好的示例中,我發現在網絡上:
http://www.geekpedia.com/tutorial181_Capturing-screenshots-using-Csharp.html
編輯:代碼示例:(我創建它作爲一個擴展方法)
public static class FormExtensions
{
public static void SaveAsImage(this Form form, string fileName, ImageFormat format)
{
var image = new Bitmap(form.Width, form.Height);
using (Graphics g = Graphics.FromImage(image))
{
g.CopyFromScreen(form.Location, new Point(0, 0), form.Size);
}
image.Save(fileName, format);
}
}
可用於:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.SaveAsImage("foo.bmp", ImageFormat.Bmp);
}
}
0
你可能會做的是使用現有的DLL,該功能適用於Windows。它看起來像你需要抓住一些關鍵的命令或使用表單按鈕,並使用User32.dll。由於互操作有時是一個很大的痛苦,我發現這裏的資源,可以幫助你做你想要什麼:
http://www.cornetdesign.com/2005/04/screen-print-capture-in-c-using_08.html
0
如果你真的想剛纔的對話框中,使用Control.DrawToBitmap從它那裏得到一個BMP圖像。
相關問題
- 1. 打印winform屏幕
- 2. 打印到屏幕
- 3. Vbscript打印屏幕到MSpaint
- 4. 打印部分屏幕
- 5. 打印屏幕到網站
- 6. 使用GWT打印屏幕
- 7. 打印到Win32屏幕
- 8. 打印屏幕噪音
- 9. iOs打印當前屏幕
- 10. Selenium Grid2打印屏幕
- 11. 打印圓圈到屏幕
- 12. 替代Gadwin打印屏幕
- 13. 打印屏幕問題
- 14. 打印管內容屏幕
- 15. Java打印屏幕程序
- 16. 部署Winform項目.NET 2.0
- 17. Asp .Net C#用於網頁打印屏幕
- 18. c#winform屏幕分辨率
- 19. C#WinForm - 加載屏幕
- 20. <canvas />和打印屏幕/屏幕截圖
- 21. Java - 全屏幕JFrame不顯示在打印屏幕/屏幕錄製上?
- 22. {$ foo | @print_r}在屏幕上打印'{$ foo | @print_r}'
- 23. 禁用打印屏幕命令
- 24. 代碼不打印到屏幕
- 25. 從屏幕上刪除打印的行
- 26. 漂亮的樹打印屏幕限制
- 27. 的printf不打印到屏幕
- 28. Ruby:窗口打印屏幕win32API調用
- 29. C#打印屏幕預定義區域
- 30. php代碼禁用打印屏幕
非常好!我發現了一個不太簡潔的解決方案,該解決方案也適用於 http://www.dotnetcurry.com/ShowArticle.aspx?ID=303 我通過用此替換Screen.PrimaryScreen來修改PrintScreen方法。謝謝。 – Blanthor 2009-06-17 18:14:09