イメージをbase64でエンコードできます。例えば、ここで
<img src="data:image/gif;base64,MyImageDataEncodedInBase64=" alt="My Image data in base 64" />
は、あなたがこれを実現する方法の完全な例です:
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace ImageEncodedInBase64InAWebBrowser
{
[ComVisible(true)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string url = Directory.GetCurrentDirectory() + "\\page.html";
webBrowser1.Url = new Uri(url);
webBrowser1.ObjectForScripting = this;
}
private void button1_Click(object sender, EventArgs e)
{
string imageInBase64 = ReadImageInBase64();
webBrowser1.Document.InvokeScript("setImageData", new[] { imageInBase64 });
}
private string ReadImageInBase64()
{
string imagePath = Directory.GetCurrentDirectory() + "\\opensource.png";
using (var fs = new FileStream(imagePath, FileMode.Open, FileAccess.Read))
{
var buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
return Convert.ToBase64String(buffer);
}
}
}
}
そして、このJavascriptコード:
function setImageData(imageBase64) {
var myImg = document.getElementById("myImg");
myImg.src = "data:image/png;base64," + imageBase64;
}
あなたはhttp://stackoverflow.comこれを試みることができます/ questions/290035/how-do-i-get-ac-sharp-webbrowser-control-to-show-jpeg-files-rawが動作しない場合は、このhttp://www.codeproject.comを見ることができます/KB/files/MhtBuilder.aspxを開き、イメージを.mhtmlに変換して表示してください。 – user629926
目的は何ですか、なぜあなたはRAMからロードする必要がありますか?あなたがパフォーマンスのためにSSDを使うことができれば。 –
どのWebBrowserコントロールを使用していますか? WinFormsのもの、WPFのもの、またはSilverlightのもの –