在web上使用direct2d绘制叠加层

时间:2017-01-09 02:02:48

标签: asp.net web direct2d

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 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一目标。

1 - 将图像渲染为字节数组并将其直接编码到页面中;看到这个答案

Use a System.Drawing.Image in an HTML tag

注意 - 效率非常低,只适用于小图片。

2 - 以适当的MIME类型(即image / jpg等)将图像流式传输到浏览器。创建一个页面或HTTP处理程序,其唯一的工作是响应图像请求,请参阅答案: -

Render HTML as an Image

..作为首发。