ユーザーが1つの軸で画像を拡大縮小し、ユーザーが画像を比例して拡大縮小できることを望みます。
私はxamlを持っています::
<Image Source="my_image.jpg" ManipulationDelta="UIElement_OnManipulationDelta" Width="400" Height="400">
<Image.RenderTransform>
<ScaleTransform x:Name="scaleImage" CenterX="200" CenterY="200"></ScaleTransform>
</Image.RenderTransform>
</Image>
私はコードを持っています:
private void UIElement_OnManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
//scale image by only x
if (e.DeltaManipulation.Scale.X != 0 && e.DeltaManipulation.Scale.Y == 1)
{
scaleImage.ScaleX *= e.DeltaManipulation.Scale.X;
}
//scale image by only y
else if (e.DeltaManipulation.Scale.X == 1 && e.DeltaManipulation.Scale.Y != 0)
{
scaleImage.ScaleY *= e.DeltaManipulation.Scale.Y;
}
//proportion scale
else if (e.DeltaManipulation.Scale.X != 0 && e.DeltaManipulation.Scale.Y != 0)
{
scaleImage.ScaleX *= e.DeltaManipulation.Scale.X;
scaleImage.ScaleY *= e.DeltaManipulation.Scale.X;
}
}
しかし、このコードの動作は非常に不安定です。
このソリューションを改善するにはどうすればよいですか?