1

この記事に従って、Windows Phone 7で画像をつまんだり、ドラッグしたり、回転させたりする方法を学びます。しかし、画像をドラッグしたり、画面からズームアウトしたりできることに気付きました。

画像の幅/高さを制限する方法はありますか?

4

1 に答える 1

1

自分で制約を実装する必要があると思います。基本的に、画像を含むコンテナ要素が常にあり、このコンテナには幅/高さが設​​定されていると想定しています。

コンテナーとイメージの両方に、スペース内に 4 つのポイント (左上、右上、左下、右下) があります。制約については、画像のこれらのポイントがコンテナのポイントを超えていないことを確認する必要があります。

左上のポイントを計算するには、次を使用します。

var transform = image.TransformToVisual(container);         
Point topLeftPoint = transform.Transform(new Point(0, 0));

右上のポイントを計算するには、Image.Width を topLeftPoint.X に追加します。左下のポイントを計算するには、Image.Height を topLeftPoint.Y に追加します。右下のポイントを計算するには、Image.Height を topLeftPoint.Y に、Image.Width を topLeftPoint.X に追加します。

次に、ContainerTopLeftPoint.X >= ImageTopLeftPoint.X および ContainerTopLeftPoint.Y >= ImageTopLeftPoint.Y... をチェックする必要があります。すべてのポイントについて同様のチェックを行います (ただし、下のポイントについては、>= ではなく <= にする必要があることに注意してください)。 )。

純粋な数学:)

于 2012-05-01T10:15:11.367 に答える