2009-07-04 110 views
7

有没有一种方法可以将WPF的输出写成图像文件,jpg或类似的画布。将WPF输出写入图像文件

我想使用WPF为我创建背景,因为我想使用 BitmapEffects绘制一个矩形,并使角落的半径变得更大。

我想在网页中使用位图。

这可能吗?

马尔科姆

回答

9

我有一个博客帖子都是关于这个here。以下是文章中的代码:

Rect rect = new Rect(canvas.RenderSize); 
    RenderTargetBitmap rtb = new RenderTargetBitmap((int)rect.Right, 
    (int)rect.Bottom, 96d, 96d, System.Windows.Media.PixelFormats.Default); 
    rtb.Render(canvas); 
    //encode as PNG 
    BitmapEncoder pngEncoder = new PngBitmapEncoder(); 
    pngEncoder.Frames.Add(BitmapFrame.Create(rtb)); 

    //save to memory stream 
    System.IO.MemoryStream ms = new System.IO.MemoryStream(); 

    pngEncoder.Save(ms); 
    ms.Close(); 
    System.IO.File.WriteAllBytes("logo.png", ms.ToArray()); 
    Console.WriteLine("Done");