Có thể chụp ảnh màn hình điều khiển trong biểu mẫu thắng mà không thực sự hiển thị trên màn hình không? Làm thế nào về một thành phần webBrowser?ảnh chụp màn hình của điều khiển winforms thông qua C#
5
A
Trả lời
11
Có. Điều này có thể thực hiện được.
Tôi đã bỏ qua một chương trình mẫu để làm điều đó. Hãy tha thứ cho các quy ước đặt tên và tổ chức mã của tôi, điều này đã được thực hiện rất nhanh chóng. Bạn có thể sửa đổi nó để phù hợp hơn với nhu cầu của bạn, nhưng điều này cho thấy những điều cơ bản.
Tôi có một hình thức duy nhất với ba điều khiển:
- button1: Nút với các thiết lập mặc định.
- button2: Nút có thuộc tính Có thể nhìn thấy được đặt thành false và Tập văn bản thành "nút2 - không hiển thị"
- webBrowser1: Điều khiển trình duyệt web với chế độ hiển thị được đặt thành false, đặt kích thước thành 250, 101 (chỉ để nó vừa với . vào mẫu của tôi Kích thước phù hợp khi bạn nhìn vào ảnh chụp ở dưới cùng của câu trả lời của tôi bạn sẽ cần phải đặt kích cỡ phù hợp)
đây là mã trong Form1:..
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
PrintInvisibleControl(button2, @"C:\button.jpg");
PrintInvisibleControl(webBrowser1, @"C:\webbrowser.jpg");
}
private void PrintInvisibleControl(Control myControl, string filename)
{
Graphics g = myControl.CreateGraphics();
//new bitmap object to save the image
Bitmap bmp = new Bitmap(myControl.Width, myControl.Height);
//Drawing control to the bitmap
myControl.DrawToBitmap(bmp, new Rectangle(0, 0, myControl.Width, myControl.Height));
bmp.Save(filename, ImageFormat.Jpeg);
bmp.Dispose();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.microsoft.com");
}
}
}
Điều này dẫn đến các hình chụp sau:
+4
Một cái gì đó không rõ ràng với tôi. 'Graphics g = myControl.CreateGraphics();' được sử dụng như thế nào? – beppe9000
Các vấn đề liên quan
- 1. Chụp màn hình của điều khiển WebBrowser
- 2. Chụp ảnh màn hình của video được nhúng bằng C#
- 3. Chụp ảnh màn hình với C \ GTK
- 4. Lớp phủ màn hình cho ảnh chụp màn hình
- 5. Chụp ảnh màn hình của Android OpenGL
- 6. iOS Ảnh chụp màn hình một phần của màn hình
- 7. Nhận ảnh chụp màn hình của điều khiển trình duyệt web?
- 8. Ảnh chụp màn hình Webdriver
- 9. C# Chụp màn hình điều khiển .net trong ứng dụng và đính kèm vào Outlook Email
- 10. Chụp màn hình màn hình hiện tại của thiết bị
- 11. Có cách nào để tự động chụp ảnh màn hình trang web thông qua URL không?
- 12. Điều chỉnh độ sáng của màn hình thông qua mã
- 13. Bàn điều khiển toàn màn hình C#?
- 14. Cách vẽ ảnh chụp màn hình được chụp từ glReadPixels sang hộp thoại/bảng điều khiển wxWidgets
- 15. Thư viện C# để chụp ảnh màn hình?
- 16. Chụp ảnh màn hình trong C++ trên OSX
- 17. Ảnh chụp màn hình bị rò rỉ?
- 18. beamer includegraphics với ảnh chụp màn hình
- 19. iPad 3 ảnh chụp màn hình chậm
- 20. Ảnh chụp màn hình OpenGL Android
- 21. Chụp màn hình vào một ảnh bitmap
- 22. Trì hoãn ảnh chụp màn hình iOS
- 23. Chụp ảnh chất lượng thấp của màn hình
- 24. Ảnh chụp màn hình của Python 2+ (cửa sổ)
- 25. Cách tạo ảnh chụp màn hình của QWidget?
- 26. C#: làm thế nào để có một ảnh chụp màn hình của một phần của màn hình
- 27. C# WPF chụp ảnh chụp màn hình với hiệu ứng SnippingTool
- 28. Làm cách nào để bạn chụp Ảnh màn hình của một trang web qua mã .Net?
- 29. Nhận ảnh chụp màn hình từ trang ASP.Net
- 30. Chụp màn hình của màn hình Hiện tại
Tôi phải hỏi - đó là một câu hỏi thú vị, nhưng trong lý do tại sao bạn lại phải cần để làm điều này? Tôi thực sự tò mò, không làm cho niềm vui của câu hỏi .... – David
tôi cần để có thể gửi ảnh chụp màn hình của mét điều khiển đồ họa bất cứ khi nào tiêu chí nhất định được đáp ứng .. – user441660
hiển thị các điều khiển cho một số đối tượng chỉ để có một ảnh chụp có thể không được một ý tưởng tốt .. nó sẽ được tốt đẹp nếu tôi có thể đặt chúng trên một điều khiển người dùng, lấy ảnh chụp của nó trong nền và gửi nó như là một hình ảnh .. – user441660