Simon
Simon

Reputation: 87

CefSharp WpfControl and rendering to image

We want to show a webpage in a chromium based browser within a wpf application. The website that is displayed within the browser should also be shown on another screen but without interaction. I want to combine the cefsharp wpf browser control and the cefsharp offscreen rendering.

Can I use one chromium instance for displaying the page with interactions in wpf and export the current visible website as an image?

Thank you and best regards,

Simon

Upvotes: 2

Views: 2580

Answers (1)

Simon
Simon

Reputation: 87

Thank you amatiland, it indeed works with the OnPaint Method or Event.

    public MainWindow()
    {
        InitializeComponent();

        Browser.Paint += Browser_Paint;
    }

    void Browser_Paint(object sender, CefSharp.Wpf.PaintEventArgs e)
    {
        Bitmap newBitmap = new Bitmap(e.Width, e.Height, 4 * e.Width, System.Drawing.Imaging.PixelFormat.Format32bppRgb, e.Buffer);

        var aPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), "TestImageCefSharpQuant.png");
        newBitmap.Save(aPath);
    }

XAML

    <wpf:ChromiumWebBrowser x:Name="Browser" Address="www.google.com"></wpf:ChromiumWebBrowser>

Upvotes: 5

Related Questions