Add Caption for an Image : Image « Windows Presentation Foundation « C# / C Sharp






Add Caption for an Image

  
<Window x:Class="BitmapProgramming.AddCaption"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="BitmapProgramming" Height="300" Width="300"
    >
  <Image x:Name="imageElement" />
</Window>

//File:Window.xaml.cs

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace BitmapProgramming
{
    public partial class AddCaption : System.Windows.Window
    {
        public AddCaption()
        {
            InitializeComponent();

            BitmapImage originalBmp = new BitmapImage();
            originalBmp.BeginInit();
            originalBmp.UriSource = new Uri("http://www.your host.com/a.jpeg");
            originalBmp.DownloadCompleted += delegate{
                Grid rootGrid = new Grid();
                Image img = new Image();
                img.Source = originalBmp;
                rootGrid.Children.Add(img);
                TextBlock caption = new TextBlock();
                caption.Text = "Ian's car";
                caption.VerticalAlignment = VerticalAlignment.Bottom;
                caption.HorizontalAlignment = HorizontalAlignment.Center;
                caption.Margin = new Thickness(5);
                caption.Padding = new Thickness(5);
                caption.TextAlignment = TextAlignment.Center;
                caption.TextWrapping = TextWrapping.Wrap;
                rootGrid.Children.Add(caption);

                RenderTargetBitmap bmp = new RenderTargetBitmap(originalBmp.PixelWidth, originalBmp.PixelHeight,originalBmp.DpiX, originalBmp.DpiY, PixelFormats.Pbgra32);
                rootGrid.Measure(new Size(originalBmp.Width, originalBmp.Height));
                rootGrid.Arrange(new Rect(0, 0, originalBmp.Width, originalBmp.Height));
                bmp.Render(rootGrid);

                imageElement.Source = bmp;
            };
            originalBmp.EndInit();
        }
    }
}

   
    
  








Related examples in the same category

1.Image with ContextMenuImage with ContextMenu
2.Animated Clip ExamplesAnimated Clip Examples
3.Triangular Clip ExampleTriangular Clip Example
4.Elliptical Clip ExampleElliptical Clip Example
5.ImageBrush within a DrawingBrush.ImageBrush within a DrawingBrush.
6.Using an Image as an Opacity MaskUsing an Image as an Opacity Mask
7.Display a Static ImageDisplay a Static Image
8.Set opacity for ImageSet opacity for Image
9.Set tooltip for ImageSet tooltip for Image
10.Using the Jpeg ImageUsing the Jpeg Image
11.Image elementImage element
12.Image as ResourceImage as Resource
13.Load image with BitmapImageLoad image with BitmapImage
14.Load image in your code and add to gridLoad image in your code and add to grid
15.Use CroppedBitmap in code
16.Transformed image exampleTransformed image example
17.Use Render Target BitmapUse Render Target Bitmap
18.Load image from a URI
19.Modify Image Pixels
20.Load image source from a hard code directoryLoad image source from a hard code directory
21.FormatConvertedBitmap DestinationFormat=Gray4FormatConvertedBitmap DestinationFormat=Gray4