我想实现Xamarin表单图像缩放属性。我确实搜索了互联网很长一段时间,但我没有找到任何相关的文档,有人能提供一些关于如何在Xamarin Forms中实现它的信息吗?
答案 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中拥有一个非常好的全屏图像查看器