图像放大Xamarin表格

时间:2015-04-21 20:09:22

标签: ios xamarin xamarin.forms

我想实现Xamarin表单图像缩放属性。我确实搜索了互联网很长一段时间,但我没有找到任何相关的文档,有人能提供一些关于如何在Xamarin Forms中实现它的信息吗?

4 个答案:

答案 0 :(得分:1)

目前,图片没有缩放属性。您必须使用自定义渲染器来实现这一点。   尝试使用ScaleTo,Itz类似于缩放但不完全是缩放功能..希望它有帮助...

        var img = new Image {
            Source = "foo.png",
            Scale = .9
        };

        var stepper = new Stepper {
            Minimum = .1,
            Maximum = 1,
            Increment = .1,
            Value = .9,
        };

        stepper.ValueChanged += async (object sender, ValueChangedEventArgs e) => {
            img.ScaleTo(e.NewValue);
        };

答案 1 :(得分:0)

我有同样的需要在Xamarin Forms上的图像上实现缩放,点击......

在论坛上,我找到一个插件,为3个平台定义自定义渲染器,可以让你获得点击图像的坐标,然后实现你想要做的缩放。

这里是插件的网站:http://www.mrgestures.com/

您开发的每个应用程序的费用为10欧元。根据您需要实施的内容以及您需要实施的次数,它并不昂贵。

答案 2 :(得分:0)

问题带有scale属性,该属性缩放到x和y的中心, 我已经实现了此扩展,不需要额外的渲染器。

   public static Task<bool> ScaleTo(this VisualElement view, double scale, double anchorX, double anchorY, uint length = 250, Easing easing = null)
    {
        var tcs = new TaskCompletionSource<bool>();
        if (easing == null)
        {
            easing = Easing.Linear;
        }

        new Animation(
            (v) =>
            {
                view.Scale = scale;
                view.AnchorX = anchorX;
                view.AnchorY = anchorY;
            }, 0, length
           ).Commit(view, nameof(view), 16, length, easing, finished: (f, a) => tcs.SetResult(a));
        return tcs.Task;
    }

答案 3 :(得分:0)

您可以使用捏手势识别器来实现捏缩放。

以下是捏缩文档 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/gestures/pinch

同时,如果要添加平移,可以将上面的代码与 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/gestures/pan

然后,您将在Xamarin.Forms中拥有一个非常好的全屏图像查看器