using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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.Navigation;
using System.Windows.Shapes;
namespace WpfApp166
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private VisualCollection childrenValue;
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
Image img = new Image();
img.Source = DrawingVisualContextRenderBmp();
this.Content = img;
}
private ImageSource DrawingVisualContextRenderBmp()
{
int width = (int)this.ActualWidth;
int height = (int)this.ActualHeight;
RenderTargetBitmap renderBmp = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Default);
DrawingVisual visual = new DrawingVisual();
using (DrawingContext context = visual.RenderOpen())
{
context.DrawEllipse(new SolidColorBrush(Colors.Black),
new Pen(new SolidColorBrush(Colors.Blue), 5),
new Point(600, 500), 200, 200);
context.DrawRectangle(new SolidColorBrush(Colors.Red),
new Pen(new SolidColorBrush(Colors.Blue), 5),
new Rect(0, 0, 400, 400));
context.DrawImage(new BitmapImage(new Uri(@"..\..\cl1.jpg",UriKind.RelativeOrAbsolute)),
new Rect(900, 200, 500, 500));
context.DrawText(
new FormattedText("Draw Text", CultureInfo.InvariantCulture,
FlowDirection.LeftToRight, new Typeface("Verdana"), 96,
new SolidColorBrush(Colors.Cyan),1.25),
new Point(700, 700));
context.DrawGeometry(new SolidColorBrush(Colors.Red),
new Pen(new SolidColorBrush(Colors.Black), 5),
new LineGeometry(new Point(100,900),new Point(1200,900)));
}
renderBmp.Render(visual);
return renderBmp;
}
}
}
![]()