簡體   English   中英

C#從嵌入式HTML資源中訪問嵌入式圖像

[英]C# accessing embedded image from within an embedded HTML resource

我想在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的答案,但是對這個任務沒有幫助。

任何幫助是極大的贊賞。

傑夫·W

賓夕法尼亞州雷丁

您可以對圖像進行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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM