图像翻译返回原点

本文关键字:原点 返回 翻译 图像 | 更新日期: 2024-09-16 23:26:38

我遇到了一个问题,互联网搜索没有提供任何帮助。我正在尝试翻译C#中的图像(在WP8.1上)。

因此,我使用了translate-transform()。ManipulationDelta事件中。它可能会起作用,因为我实际上可以移动它几英寸,但它刚刚回到原点。(即使我把手指放在屏幕上)

我遇到这个问题已经三天了,我无法解决它。如果有你们的帮助,我们将不胜感激。

(附代码)

    void Isetta_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
    {
        //Actually moving the UI Element
        TranslateTransform tt = new TranslateTransform();
        tt.X += e.Delta.Translation.X;
        tt.Y += e.Delta.Translation.Y;
        Isetta.RenderTransform = tt;
        //Isetta.Height *= e.Delta.Scale;
        //Isetta.Width *= e.Delta.Scale;


    }

图像翻译返回原点

您在每帧创建一个新的变换,并抛出旧信息。你应该只创建一次转换并重用它

您可以检查Isetta.RenderTransform是否已经是TranslateTransform,如果不是,则仅替换它。类似于:

TranslateTransform tt = Isetta.RenderTransform as TranslateTransform;
if (tt == null) 
{
    tt = new TranslateTransform();
    Isetta.RenderTransform = tt;
}
tt.X += e.Delta.Translation.X;
tt.Y += e.Delta.Translation.Y;

或者,您可以只在Xaml中或初始化页面时设置一次转换,然后使用相同的引用。这就是MSDN的Quickstart:Touch输入中的使用操作事件部分所做的。