我想在VS 2013 C#WinForms应用程序中拥有两个嵌入式资源。
一个是JPG文件:嵌入它非常简单。
另一个是HTML文件(也很容易嵌入),但它是HTML的内容让我适合。 HTML正文需要将嵌入的JPG文件作为资源引用:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<image src=".... **reference that embedded JPG here**" />
</body>
</html>
目标是能够在WebBrowser控件中显示该HTML文件,该文件仅包含图像内容,而无需独立于应用程序资源存储任何文件。
我在这里看到了一些引用WebForms的其他答案,但没有一个对此任务有帮助。
非常感谢任何帮助。
Jeff W。
阅读,PA
答案 0 :(得分:1)
您可以对图像进行base-64编码并将其放入HTML或CSS中。老浏览器不支持它(我认为IE8之前的版本?)但是否则你应该好好去。以下是如何执行此操作:https://css-tricks.com/data-uris/
否则,您只想在存储的HTML中放置一个占位符,并将其与base-64编码图像交换出来。
HTML
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<image src="data:image/gif;base64,{0}" /> <!-- Replace here -->
</body>
</html>
C#
var html = GetStringResource(); // However you do it.
var imageData = GetImageResource(); // Ditto
var encoded = GetBase64FromBinary(imageData); // TODO
var finalHtml = string.Format(html, encoded);