本文整理汇总了C#中Microsoft.Kinect.ColorImageFrame.ToBitmapSource方法的典型用法代码示例。如果您正苦于以下问题:C# ColorImageFrame.ToBitmapSource方法的具体用法?C# ColorImageFrame.ToBitmapSource怎么用?C# ColorImageFrame.ToBitmapSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Kinect.ColorImageFrame
的用法示例。
在下文中一共展示了ColorImageFrame.ToBitmapSource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FromFrames
public static KinectFrame FromFrames(ColorImageFrame colorImageFrame, DepthImageFrame depthImageFrame, SkeletonFrame skeletonFrame, bool compress = true)
{
KinectFrame kf = new KinectFrame();
kf.Compressed = compress;
if (colorImageFrame != null)
{
if (kf.Compressed)
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.QualityLevel = 85;
BitmapSource image = colorImageFrame.ToBitmapSource();
MemoryStream imageBytes = new MemoryStream(200 * 1024);
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(imageBytes);
kf._colorPixelData = imageBytes.ToArray();
imageBytes.Close();
}
else
{
kf._colorPixelData = new byte[colorImageFrame.PixelDataLength];
colorImageFrame.CopyPixelDataTo(kf._colorPixelData);
}
kf.ColorFormat = colorImageFrame.Format;
kf.ColorFrameNumber = colorImageFrame.FrameNumber;
kf.ColorTimestamp = colorImageFrame.Timestamp;
}
if (depthImageFrame != null)
{
kf._depthPixelData = new short[depthImageFrame.PixelDataLength];
depthImageFrame.CopyPixelDataTo(kf._depthPixelData);
kf.DepthFormat = depthImageFrame.Format;
kf.DepthFrameNumber = depthImageFrame.FrameNumber;
kf.DepthTimestamp = depthImageFrame.Timestamp;
}
if (skeletonFrame != null)
{
kf._skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
skeletonFrame.CopySkeletonDataTo(kf._skeletons);
}
return kf;
}