在 Web 上使用 direct2d 绘制叠加层
draw overlays with direct2d on web
ASP.NET 可以用C#调用Direct2D。但是创建位图后,我们可以在网络上显示位图吗?
protected void Page_Load(object sender, EventArgs e)
{
m_renderBitmap = m_wicFactory.CreateImagingBitmap(m_imageWidth, m_imageHeight, PixelFormats.Bgr32Bpp, BitmapCreateCacheOption.CacheOnLoad);
RenderTargetProperties renderProps = new RenderTargetProperties
{
PixelFormat = new PixelFormat(
Microsoft.WindowsAPICodePack.DirectX.Graphics.Format.B8G8R8A8UNorm,
AlphaMode.Ignore),
Usage = RenderTargetUsages.None,
RenderTargetType = RenderTargetType.Software
};
m_renderTarget = m_d2dFactory.CreateWicBitmapRenderTarget(m_renderBitmap, renderProps);
}
我创建的rendertarget是WICBitmapRenderTarget。如果我可以在网络上显示位图?
您可以通过多种方式实现这一目标。
1 - 将图像渲染成字节数组并直接编码到页面中;查看此
的答案
Use a System.Drawing.Image in an HTML tag
注意 - 效率非常低,只能处理小图像。
2 - 以适当的 MIME 类型将图像流式传输到浏览器,即 image/jpg 或其他类型。创建一个页面或 HTTP 处理程序,其唯一的工作是响应图像请求,请参阅答案:-
Render HTML as an Image
..作为首发。
ASP.NET 可以用C#调用Direct2D。但是创建位图后,我们可以在网络上显示位图吗?
protected void Page_Load(object sender, EventArgs e)
{
m_renderBitmap = m_wicFactory.CreateImagingBitmap(m_imageWidth, m_imageHeight, PixelFormats.Bgr32Bpp, BitmapCreateCacheOption.CacheOnLoad);
RenderTargetProperties renderProps = new RenderTargetProperties
{
PixelFormat = new PixelFormat(
Microsoft.WindowsAPICodePack.DirectX.Graphics.Format.B8G8R8A8UNorm,
AlphaMode.Ignore),
Usage = RenderTargetUsages.None,
RenderTargetType = RenderTargetType.Software
};
m_renderTarget = m_d2dFactory.CreateWicBitmapRenderTarget(m_renderBitmap, renderProps);
}
我创建的rendertarget是WICBitmapRenderTarget。如果我可以在网络上显示位图?
您可以通过多种方式实现这一目标。
1 - 将图像渲染成字节数组并直接编码到页面中;查看此
的答案Use a System.Drawing.Image in an HTML tag
注意 - 效率非常低,只能处理小图像。
2 - 以适当的 MIME 类型将图像流式传输到浏览器,即 image/jpg 或其他类型。创建一个页面或 HTTP 处理程序,其唯一的工作是响应图像请求,请参阅答案:-
Render HTML as an Image
..作为首发。