Я пытаюсь создать приложение, которое масштабируется и выводится из изображения и поворачивает его через Kinect. Пока это работает, но для обоих случаев. Я бы хотел, чтобы, если я повернул изображение, это новое значение сохраняется, когда я увеличиваю масштаб, поэтому я увеличиваю изображение, которое было повернуто на X градусов. Теперь у меня есть это, если я сначала повернусь, а затем попытаюсь увеличить масштаб, изображение вернется на начальную стадию.Обработка изображений с помощью Kinect
private void TrackDistances(Skeleton skeleton)
{
if (skeleton.TrackingState == SkeletonTrackingState.Tracked)
{
...
if (wristLeft.Y > shoulderLeft.Y && wristRight.Y > shoulderRight.Y)
{
float distance = Math.Abs(wristLeft.X - wristRight.X);
image_Zoom(distance);
}
if (wristLeft.Y < shoulderLeft.Y && wristRight.Y < shoulderRight.Y)
{
angleDeg = GetJointAngle(zeroPoint, anglePoint);
image_Rotate(angleDeg);
}
}
}
private void image_Zoom(float distance)
{
//TransformGroup transformGroup = (TransformGroup)image.RenderTransform;
//ScaleTransform scale = (ScaleTransform)transformGroup.Children[0];
//double zoom = distance * 1.5;
//scale.ScaleX = zoom;
//scale.ScaleY = zoom;
double zoom = distance * 1.5;
double ScaleX = zoom;
double ScaleY = zoom;
ScaleTransform scale = new ScaleTransform(ScaleX, ScaleY);
image.RenderTransform = scale;
}
private void image_Rotate(double angleDeg)
{
var angle = angleDeg - 180;
RotateTransform rotate = new RotateTransform(angle);
image.RenderTransform = rotate;
}
Любые предложения?
Спасибо!