简体   繁体   English

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

[英]How to use texture image .jpg as Windows.Media.pen C#

I have a texture image as .jpg and I want to use this image as Windows.Media.pen 我有一个.jpg纹理图像,并且我想将此图像用作Windows.Media.pen

I use Windows.Media.pen for drawing skeleton data in DrawingContext which I got it from microsoft kinect. 我使用Windows.Media.pen在DrawingContext中绘制骨架数据,该数据是从Microsoft kinect获得的。

How can I use texture image .jpg as Windows.Media.pen? 如何将纹理图像.jpg用作Windows.Media.pen?


solved the problem. 解决了问题。

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);

Welcome to StackOverflow :D 欢迎来到StackOverflow:D

Not sure if you'd get what you've been expecting as you can see below but here's how to do it : 不确定您是否能如预期的那样得到期望的结果,但这是如何实现的:

You need to use ImageBrush to be able to assign an image to a Pen . 您需要使用ImageBrush才能将图像分配给Pen

Original image : 原始图片:

在此处输入图片说明

Result : 结果:

在此处输入图片说明

Code : 代码:

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};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM