2010-06-10 19 views
4

有沒有什麼辦法可以將圖像嵌入到我的exe文件中(作爲資源?)並在生成的HTML中使用它?如何在我的應用程序中嵌入圖像並在HTML控件中使用它們?

這裏是要求:

答:我想顯示動態HTML內容(例如,使用web瀏覽器控件VS 2008,VB.NET中,WinForm的桌面應用程序)

B.我想要生成的HTML使用XML和XSL(經my.xsl轉換的file1.xml或file2.xml)

C. HTML可能包含IMG標籤(file1.gif和/或file2.gif根據xml + xsl轉換)

這裏出現了一個複雜的問題: D.所有這些文件(file1.xml,file2.xml,my.xsl,file1.gif,file2.gif)應該嵌入到一個exe文件中。

我猜XML和XSL可以嵌入資源,我可以將它們作爲流讀取,但是我必須在HTML中引用圖像有哪些方法?

<IMG src="???" /> 
  • 我不想使用絕對路徑和外部文件。
  • 如果圖像文件是資源,我可以使用相對路徑嗎?相對於什麼? (我可以使用BASE標籤,然後呢?)
  • 我可以在電子郵件中使用流嗎?如果是這樣,我在哪裏可以找到我需要使用的格式?

http://www.websiteoptimization.com/speed/tweak/inline-images/依賴於瀏覽器。

  • webBrowser控件使用什麼瀏覽器?
  • IE?
  • 什麼版本?

  • 如果我使用GIF或JPG或BMP(或任何其他圖像格式)的圖像是否有關係?

  • 如果我使用mshtml庫而不是常規的webBrowser控件,這有什麼關係嗎? (目前我使用http://www.itwriting.com/htmleditor/index.php

  • 如果升級到VS 2010,這有什麼關係嗎?

感謝,

Atara

回答

2

瀏覽器引擎與IE客戶的計算機上的相同,所以它的版本取決於客戶端的IE版本。

默認情況下,image/gif,image/jpeg和image/pjpeg在本機上受支持。在我的電腦上,image decode filters也支持image/bmp,image/x-icon,image/png和image/x-wmf。你可能想要堅持原生格式。我不確定這些過濾器是否針對res協議進行過測試,以防您更改HTML輸出中圖像的基本網址。(IE瀏覽器中的MSHTML指的是DOM的實現,並將MSHTML作爲網頁瀏覽器控件的引用)。在Windows窗體,WPF和Silverlight中的Webbrowser類都是IE瀏覽器控件的包裝。如果你直接使用MSHTML,那麼你需要編寫自己的用戶界面,這不符合你的要求。

所有您對IE引擎的調用都由IE的API處理。在您的開發人員計算機上安裝Visual Studio 2010不會改變客戶計算機上IE API的行爲。

+1

我可以從你的詳細答案中瞭解到,只有當我的客戶端使用IE 8時,纔可以使用「帶有數據URL的嵌入式圖像」? – Atara 2010-06-13 08:39:08

+0

你是什麼意思「帶有數據URL的內聯圖像」?如果圖像像SVG一樣內聯,那麼它沒有外部URL。 – 2010-06-13 17:38:28

相關問題