C# 将CSS3HTML转换为图像

C# 将CSS3HTML转换为图像,c#,css,C#,Css,如何使用C实现支持CSS3的HTML到图像的转换 我正在尝试使用C语言将这个带有CSS3效果的HTML页面转换为图像 示例页: 我尝试了几个C库和下面的代码来将HTML转换为.PNG,但它们不支持CSS3,所以图像最终看起来像这样 已尝试使用此库: 还尝试了以下代码: private static void StartBrowser() { _.P("Start Browser"); _.P("Navigate to: {0}", Cu

如何使用C实现支持CSS3的HTML到图像的转换

我正在尝试使用C语言将这个带有CSS3效果的HTML页面转换为图像

示例页:

我尝试了几个C库和下面的代码来将HTML转换为.PNG,但它们不支持CSS3,所以图像最终看起来像这样

已尝试使用此库:

还尝试了以下代码:

        private static void StartBrowser()
    {
        _.P("Start Browser");
        _.P("Navigate to: {0}", CurrentConfig.Url);
        var th = new Thread(() =>
        {
            var browser = new WebBrowser
            {
                ScrollBarsEnabled = false,
                Width = CurrentConfig.Width,
                Height = CurrentConfig.Height
            };

            browser.DocumentCompleted += DocumentCompleted;
            browser.Navigate(@"http://www.firsthomebuyers.co/FeaturedImage/FeaturedImage.html");

            //webBrowser.DocumentText = html;
            Application.Run();
        });
        th.SetApartmentState(ApartmentState.STA);
        th.Start();
    }

    static void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        _.P("Render to: {0}", CurrentConfig.OutputFile);

        var browser = (WebBrowser)sender;

        using (var bitmap = new Bitmap(browser.Width, browser.Height))
        {
            browser.DrawToBitmap(bitmap, new Rectangle(0, 0, browser.Width, browser.Height));

            bitmap.Save("D:/Temp/ImgUtilTest/Test.png", ImageFormat.Png);
        }

        Application.ExitThread();
    }

我可以做一个屏幕截图谢谢Andrew,使用屏幕截图是我结束的方式。我发现使用IE 11的WebBrowswer控件的样式问题更大,当我使用其他工具时,其中许多工具都不起作用,他们使用的WebKit版本与我的示例中的Chrome版本不同。由于这段代码只是个人使用的工具,我选择了启动Chrome,显示HTML,屏幕截图的方法很高兴我的有趣的评论有帮助!