从头开始显示位图WPF

时间:2013-01-19 19:57:12

标签: c# wpf visual-studio-2012

我已经查看了十几个示例(并尝试了多个示例),我找不到一种方法可以在WPF中轻松设置可以在Windows商店中运行的RenderTargetBitmap或WriteableBitmap。

最终我想直接操作一个我可以以30赫兹左右的速度进入屏幕的数组。

这个例子可能让我最接近:

DrawingVisual MyDrawingVisual = new DrawingVisual();
//Open its drawing context:
DrawingContext MyDC = MyDrawingVisual.RenderOpen();

// At this point you can draw
Pen p = new Pen();
p.Thickness = 5;
p.Brush = new SolidColorBrush(Colors.Green);
MyDC.DrawLine(p, new Point(1.0, 1.0), new Point(10.0, 10.0));

RenderTargetBitmap MyRenderTargetBitmap = new RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Default);
MyRenderTargetBitmap.Render(MyDrawingVisual);

RenderTargetBitmap rtbm = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);
rtbm.Render(MyCanvas);

上面的示例对我来说有两个问题:它似乎没有在屏幕上绘制任何内容,我认为MyDC使用DirectX(我猜这不适用于Windows App Store)。

编辑:

这个MS示例正是我所寻找的!

http://code.msdn.microsoft.com/windowsapps/0f5d56ae-5e57-48e1-9cd9-993115b027b9/sourcecode?fileId=44756&pathId=962809525

1 个答案:

答案 0 :(得分:0)

克莱门斯就在上面。对我而言,似乎WPF和XAML基本相同,但它们不是。

我上面的方法或多或少地在黑暗中刺伤。我将尝试使用本教程作为我的起点。

http://msdn.microsoft.com/en-us/library/windows/apps/hh986965.aspx