के माध्यम से एक विनफॉर्म नियंत्रण का स्क्रीनशॉट क्या वास्तव में स्क्रीन पर इसे प्रदर्शित किए बिना Winforms में नियंत्रण का स्क्रीनशॉट प्राप्त करना संभव है? एक WebBrowser घटक के बारे में कैसे?सी #
Q
सी #
5
A
उत्तर
11
हां। यह संभव है।
मैंने इसे करने के लिए एक नमूना कार्यक्रम चाबुक किया। मेरे नामकरण सम्मेलनों और कोड संगठन को क्षमा करें, यह बहुत जल्दी से चाबुक हो गया था। आप अपनी जरूरतों को बेहतर ढंग से फिट करने के लिए इसे संशोधित कर सकते हैं, लेकिन यह मूल बातें दिखाता है।
- Button1: डिफ़ॉल्ट सेटिंग्स के साथ बटन
मैं तीन नियंत्रण के साथ एक ही रूप है।
- Button2: दृश्यमान संपत्ति गलत पर सेट और पाठ सेट के साथ बटन के लिए "Button2 - दिखाई नहीं"
- webBrowser1: दृश्यता गलत पर सेट के साथ WebBrowser नियंत्रण, 250, 101 (सिर्फ इसलिए यह फिट बैठता है का आकार सेट । मेरी फार्म पर आकार प्रासंगिक है जब आप मेरा उत्तर के तल पर कब्जा को देखो है आप उसके अनुसार यह आकार की आवश्यकता होगी)
यहाँ 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");
}
}
}
इसके परिणामस्वरूप निम्नलिखित कैप्चर:
यह एक दिलचस्प सवाल है, लेकिन में क्यों आपको कभी ऐसा करने की आवश्यकता होगी -+4
मुझे कुछ स्पष्ट नहीं है। 'ग्राफिक्स जी = myControl.CreateGraphics();' कैसे उपयोग किया जाता है? – beppe9000
मैं पूछने के लिए है? मैं वास्तव में उत्सुक हूं, प्रश्न का मजाक नहीं बना रहा हूं .... – David
जब भी कुछ मानदंड पूरा हो जाते हैं तो मुझे ग्राफिकल नियंत्रण मीटर के स्क्रीनशॉट भेजने में सक्षम होना चाहिए .. – user441660
स्नैपशॉट लेने के लिए कई ऑब्जेक्ट्स के लिए इन नियंत्रणों को दिखाया जा सकता है एक अच्छा विचार .. यह अच्छा होगा अगर मैं उन्हें उपयोगकर्ता-नियंत्रण पर रख सकूं, पृष्ठभूमि में इसका स्नैपशॉट लें और इसे एक छवि के रूप में भेजें .. – user441660