Click to Rate and Give Feedback
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
RenderTargetBitmap Class

Updated: November 2007

Converts a Visual object into a bitmap.

Namespace:  System.Windows.Media.Imaging
Assembly:  PresentationCore (in PresentationCore.dll)

Visual Basic (Declaration)
Public NotInheritable Class RenderTargetBitmap _
    Inherits BitmapSource
Visual Basic (Usage)
Dim instance As RenderTargetBitmap
C#
public sealed class RenderTargetBitmap : BitmapSource
Visual C++
public ref class RenderTargetBitmap sealed : public BitmapSource
J#
public final class RenderTargetBitmap extends BitmapSource
JScript
public final class RenderTargetBitmap extends BitmapSource
XAML
You cannot directly create an instance of this class in XAML.

The following example shows how to use RenderTargetBitmap to render text as an image.

Visual Basic
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Globalization

Namespace SDKSample

    Class RenderTargetBitmapExample
        Inherits Page

        Public Sub New()

            Dim myImage As New Image()
            Dim [text] As New FormattedText("ABC", New CultureInfo("en-us"), System.Windows.FlowDirection.LeftToRight, New Typeface(Me.FontFamily, FontStyles.Normal, FontWeights.Normal, New FontStretch()), Me.FontSize, Me.Foreground)

            Dim drawingVisual As New DrawingVisual()
            Dim drawingContext As DrawingContext = drawingVisual.RenderOpen()
            drawingContext.DrawText([text], New System.Windows.Point(2, 2))
            drawingContext.Close()

            Dim bmp As New RenderTargetBitmap(180, 180, 120, 96, PixelFormats.Pbgra32)
            bmp.Render(drawingVisual)
            myImage.Source = bmp
            ' Add Image to the UI
            Dim myStackPanel As New StackPanel()
            myStackPanel.Children.Add(myImage)
            Me.Content = myStackPanel

        End Sub 'New
    End Class 'RenderTargetBitmapExample
End Namespace 'ImagingSnippetGallery


C#
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Globalization;

namespace SDKSample
{
    public partial class RenderTargetBitmapExample : Page
    {
        public RenderTargetBitmapExample()
        {

            Image myImage = new Image();
            FormattedText text = new FormattedText("ABC",
                    new CultureInfo("en-us"),
                    FlowDirection.LeftToRight,
                    new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.Normal, new FontStretch()),
                    this.FontSize,
                    this.Foreground);

            DrawingVisual drawingVisual = new DrawingVisual();
            DrawingContext drawingContext = drawingVisual.RenderOpen();
            drawingContext.DrawText(text, new Point(2, 2));
            drawingContext.Close();

            RenderTargetBitmap bmp = new RenderTargetBitmap(180, 180, 120, 96, PixelFormats.Pbgra32);
            bmp.Render(drawingVisual);
            myImage.Source = bmp;

            // Add Image to the UI
            StackPanel myStackPanel = new StackPanel();
            myStackPanel.Children.Add(myImage);
            this.Content = myStackPanel;
        }
    }
}

More Code

How to: Create a Bitmap from a Visual This example shows how you can create a bitmap from a Visual. A DrawingVisual is rendered with FormattedText. The Visual is then rendered to the RenderTargetBitmap creating a bitmap of the given text.
How to: Encode a Visual to an Image File This example demonstrates how to encode a Visual object into an image file using a RenderTargetBitmapand a PngBitmapEncoder.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows Vista

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker