2009-07-04 14 views
7

¿Hay alguna forma de que pueda escribir la salida de WPF, por ejemplo un lienzo en un archivo de imagen, jpg o similar?Escribir salida WPF en el archivo de imagen

Quiero usar WPF para crear un fondo para mí, ya que quiero usar el BitmapEffects para un rectángulo y también redondear las esquinas.

Quiero usar el mapa de bits en una página web.

¿Esto es posible?

Malcolm

Respuesta

9

que tiene un blog todo sobre este here. Aquí está el código del artículo:

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"); 
Cuestiones relacionadas