Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF图像点对点动画_C#_Wpf - Fatal编程技术网

C#WPF图像点对点动画

C#WPF图像点对点动画,c#,wpf,C#,Wpf,我需要以预设的比例水平平移图像(无缩放)。当从左向右平移时,我需要图像的左侧随着右前缘的出现而消失。这将使图像在摄影机平移场景时具有视频的外观。到目前为止我所做的: double origX = 0.0; double origY = 0.5; double newx; double newy; image1.RenderTransformOrgin = new Point(origX, origY); image1.RenderTransform = new ScaleTransform(

我需要以预设的比例水平平移图像(无缩放)。当从左向右平移时,我需要图像的左侧随着右前缘的出现而消失。这将使图像在摄影机平移场景时具有视频的外观。到目前为止我所做的:

double origX = 0.0;
double origY = 0.5;
double newx;
double newy;

image1.RenderTransformOrgin = new Point(origX, origY);

image1.RenderTransform = new ScaleTransform(2.0, 2.0);

if (newX == 0.0)
{
 image1.RenderTransformOrgin = new Point(origX, origY);
}
else
{
 image1.RenderTransformOrgin = new Point(newX, newY);
}

使用此代码,我可以启动左侧的虚拟“摄影机镜头”,然后将其移动到图像的任何其他点。通过手动递增地增加newX的值,我能够创建所需的效果。我的问题是如何最好地增加newX值以生成平滑的动画外观?谢谢。

您的意思是如何增加?在wpf中,我们有动画,您只需正确设置它。尝试
translateranform
XProperty
(使用
DoubleAnimation
ElasticEasy
)。我曾尝试使用DoubleAnimation让translateransform和PointAnimation工作,但收效甚微。我的最佳尝试只产生了一小部分图像的平移。这很可能是由于我的技能水平和知识,而不是建议的方法。通过增加,我的意思是不断地将newX的值从0.00增加到0.01到0.02,直到达到0.99。阅读更多信息。您试图做的是手动动画(最糟糕的,很少不可避免)。应该有帮助(将
ScaleTransform
替换为
translateransform
)。