HtmlRenderer不会从CSS渲染背景图像

亚历克斯·西基林达(Alex Sikilinda)

我使用HtmlRenderer从html标记生成jpg图像。但是,它不应用来自CSS的背景图片:

<div style="background:url(https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTbNHtYU6bKKmxkJXlqDr7y7afZyZtw-WwDg6DoUNCb9nElkplEuw); width: 440px; height: 361px">
   Some content here.
</div>

这是C#代码:

String ecardHtml = File.ReadAllText("testWithGoodImage.html");
using (Image img = HtmlRender.RenderToImageGdiPlus(ecardHtml, maxWidth: 440, textRenderingHint: TextRenderingHint.AntiAliasGridFit))
{
    img.Save("result.jpg");
}

调试显示该映像甚至没有被请求,因此我怀疑它不受支持。但是,<img>元素确实运作良好。

因此,问题是如何使其发挥作用。

我知道我可以在HtmlRenderer中渲染图像上的html,但是我只想在html代码中使用所有标记。

麻黄碱

HTML渲染器支持背景图像CSS,如果您真的想
用HTML来做,那么类似这样的事情就可以了:

<div style="width: 440px; height: 361px;position:relative">
    <div style="position:absolute;top:0;left:0;z-index:8888"><img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTbNHtYU6bKKmxkJXlqDr7y7afZyZtw-WwDg6DoUNCb9nElkplEuw"/></div>
    <div style="position:absolute;top:0;left:0;z-index:9999">Some content here.</div>       
</div>

或只是添加背景图像而不仅仅是背景

<div style="background-image:url(https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTbNHtYU6bKKmxkJXlqDr7y7afZyZtw-WwDg6DoUNCb9nElkplEuw); width: 440px; height: 361px">
   Some content here.
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章