我正在使用C#开发.NET 3.5 WinForms项目,我希望能够直接从内存中<在 WebBrowser 控件中呈现图像的最佳方法/ strong>来源?
在内存中,我的意思是我有一组 Base64 编码的字符串格式的图像,我希望在WebBrowser控件的嵌入页面上呈现它们。
我原本希望使用嵌入式Data URI选项示例,但这种方法对于图片limited是&lt; 32KB。
我希望可以将它转换为System.Drawing.Image
实例,并以某种方式在src
html标记中引用此图像,如下所示:<img src="<insert reference here?>" </img>
。这种技术有可能吗?
如果无法做到这一点,那么我想知道在Windows临时目录中创建文件的可行性和那里的引用?
答案 0 :(得分:1)
另一种方法是设置Web服务器并通过localhost <img src='http://localhost/img.jpg'>
加载图像。这可以防止在磁盘上创建临时图像。
如果您不想处理Web服务器,可以使用简单的图像平铺与上述数据URI参数相结合。单个图块可以通过以下方式获得:
Rectangle region = new Rectangle(x, y, tileWidth, tileHeight);
Bitmap tile = sourceBitmap.Clone(region, sourceBitmap.Clone.PixelFormat);
您只需为Rectangle region
的不同参数重复平铺生成,直到覆盖完整的源图像为止。您可以尝试使用哪个tileWidth
和tileHeight
来生成数据大小低于32kB的切片。