HtmlRenderer을 사용하여 HTML을 이미지로 변환하려고합니다. 이 페이지에는 2 개의 이미지가 있으며, 하나의 이미지는 다른 이미지의 상단에 있습니다. 다음 코드를 사용해 보았습니다HtmlRenderer을 사용하여 HTML을 이미지로 변환
Bitmap m_Bitmap = new Bitmap(700, 900);
PointF point = new PointF(0, 0);
SizeF maxSize = new System.Drawing.SizeF(800, 1000);
string html = "<html><head></head><body> Test<div style=\"position: relative; left: 0; top: 0;\"><img style=\"position: relative; top: 0; left: 0;\" src=\"file:///C:/Users/crakhuc/Desktop/HappyBirthday.jpg\"><img style=\"position: absolute; left: 199px; top: 293px;\" src=\"file:///C:/Users/crakhuc/Desktop/Small.jpg\"></div><br></body></html>";
HtmlRenderer.HtmlRender.Render(Graphics.FromImage(m_Bitmap),html,point, maxSize);
m_Bitmap.Save(@"C:\Test.png", ImageFormat.Png);
이 문제는 두 번째 이미지가 첫 번째 이미지 맨 위에 오는 것이 아니라 첫 번째 이미지의 맨 아래에 오는 문제입니다.
특정 질문 (아래 답변 제공)과 관계없이 HtmlRender.RenderToImage (..) 메소드를 사용하는 것이 더 좋습니다. 더 나은 API를 사용하고 GDI 텍스트 렌더링을 올바르게 처리하려면 [HTML 마크 업에서 이미지 생성] (https://htmlrenderer.codeplex.com/wikipage?title=Image%20generation&referringTitle=Home)을 참조하십시오. – Arthur