none
请问:Viewport3D 呈现画面如何能生成一个类似Bitmap的东西? RRS feed

  • 问题

  •     在GDI+编程时,可以将屏幕显示图像内容先写在内存一个Bitmap实例中,然后通过Graphics.DrawingImage写在屏幕上,但是现在WPF采用了与GDI不同的图像呈现方式,为了兼容以前的图像处理程序,我如何能够找到一种将WPF呈现内容写成BitMap的方法。

     

       请教高手指点!在此谢过。

    2008年12月12日 4:28

答案

  •  tomAndJerry 写:

        在GDI+编程时,可以将屏幕显示图像内容先写在内存一个Bitmap实例中,然后通过Graphics.DrawingImage写在屏幕上,但是现在WPF采用了与GDI不同的图像呈现方式,为了兼容以前的图像处理程序,我如何能够找到一种将WPF呈现内容写成BitMap的方法。

     

       请教高手指点!在此谢过。

     

    俺已经找到方法了,拿出来供大家参考:

    //绘制

                   GifBitmapEncoder gifEncoder=new GifBitmapEncoder ();
                    RenderTargetBitmap bmpRender = new RenderTargetBitmap(1024, 768, 72 * 1.0, 72 * 1.0, PixelFormats.Default); 

                    bmpRender.Render(vpt);//vpt is Viewport3D instance
                    gifEncoder.Frames.Add(BitmapFrame.Create(bmpRender));   

                    gifEncoder.Save(new FileStream("d:\\abc.gif",FileMode.Create))
    2008年12月12日 8:27