1

我有一个 .jpg 格式的纹理图像,我想将此图像用作 Windows.Media.pen

我使用 Windows.Media.pen 在从 microsoft kinect 获得的 DrawingContext 中绘制骨架数据。

如何将纹理图像 .jpg 用作 Windows.Media.pen?


解决了这个问题。

ImageSource image = new BitmapImage(new Uri(@"...\texture.jpg", UriKind.Relative));
var brush = new ImageBrush(image);
var pen = new Pen(brush, 10);
drawingContext.DrawLine(pen, XPos, YPos);
4

1 回答 1

2

欢迎来到 StackOverflow :D

不知道你是否会得到你所期待的,如下所示,但这里是如何做到的:

您需要使用ImageBrush才能将图像分配给Pen.

原图:

在此处输入图像描述

结果 :

在此处输入图像描述

代码 :

ImageSource image = new BitmapImage(new Uri(@"..\..\5c5f910416e2b92bb73fa59c56fe695d.png", UriKind.Relative));
var brush = new ImageBrush(image);
var pen = new Pen(brush, 50);
var drawingVisual = new DrawingVisual();
using (DrawingContext drawingContext = drawingVisual.RenderOpen())
{
    drawingContext.DrawRectangle(null, pen, new Rect(new Size(200, 200)));
}

var renderTargetBitmap = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);
renderTargetBitmap.Render(drawingVisual);
Content = new Image {Source = renderTargetBitmap, Stretch = Stretch.None};
于 2014-02-28T03:26:39.057 回答