ImageViewerは、ビューと項目が変形される方法を変更する多くの操作をサポートします。これらの操作は、ビュー操作(ビューで全景またはすべての項目に影響を及ぼすもの)または項目操作(特定の項目に固有のもの)に分けられることができます。
ImageViewerは、以下のビュー操作をサポートします:
メンバ | 説明 |
---|---|
ズーム |
画像ビューワ内にビューを収めるやり方を制御するために使用するサイズモードをズームイン/アウトまたは変更します。 |
ZoomToRect |
指定された長方形にビューをズームします |
CenterAtPoint |
ビューが指定されたポイントのまわりで示す中心 |
フリップ |
垂直にビューを上下に反転します(さかさまに) |
リバース |
水平にビューを(ミラー化する)翻します |
RotateAngle |
任意の角度でその中心のまわりでビューを回転させます |
AutoResetOptions |
自動的に、新しい項目がビューワで設定されるとき、ビュー変換をリセットします |
リセット |
デフォルト値までビュー変換プロパティをリセットします |
BeginTransform |
時間的に、変換行列を更新することを無効にします |
EndTransform |
変換行列を更新することを再び有効にします |
UpdateTransform |
すべての変換行列を再計算します |
TransformChanged |
画像ビューワの内側の任意の変換が変更した時を発生するイベント |
ImageViewerは、以下の項目操作をサポートします:
メンバ | 説明 |
---|---|
ズーム | imageがどのようにその項目にはめ込まれるかについて制御するのに用いられるサイズモードをズームイン/アウトするか、変更します |
ResizeOnTransform | この項目の変換により、画像サイズが大きくなる、または小さくなる時に項目のサイズを自動更新します。 |
フリップ | 垂直にこの項目の中にimageを上下に反転します(さかさまに) |
リバース | 水平にこの項目でimageを(ミラー化する)翻します |
RotateAngle | 任意の角度でその中心のまわりでこの項目でimageを回転させます |
scale | 水平に、そして、垂直に、項目のimageを拡大縮小します |
Offset | 水平に、そして、垂直に、項目のimageを変換します |
OffsetBy | 特定の量によって、水平に、そして、垂直に、項目のimageを変換します |
変換 | これのための変換行列項目。 |
IsVisibleな | この項目の表示/非表示設定を設定します |
各々のImageViewerItemは、変換プロパティを格納します。このマトリックスは、変換するか、拡大縮小するか、項目を回転させるために、レイアウト計算の間、ViewLayoutにより用いられます。項目image境界は、0,0からImageSizeまでです。この長方形は最終位置を作成するために変換によって乗算されます、そして、その項目の内側のimageのサイズと各項目のimageは他の項目またはビュー自体と独立して変形されることができます。
独立して項目を変形する2つの方法が、あります:
まず、Flip、Reverse、RotateAngle、ScaleおよびOffsetの状態値のほか、ヘルパーのOffsetByやZoomのメソッドを使うことができます。これらは、直接マトリックスをアップデートしなければならないことなく簡単に項目の変換を修正することができます。項目では、すべての必要な計算を実行して、結果の値をTransformに保存します。ユーザーによって渡される1つ前の値を保持するので、これらは「国営」値といいます。フリップの値をtrueに設定するならば、それはtrueままです。項目は、同期においてすべてのこれらの値を保持する予め定められた順序で、変換を適用します。
独立して項目を変形する他の方法は、カスタム値で自分で変換プロパティを更新することです。マトリックスから正しい回転、scaleと変換値を得ることができないため、項目はデフォルト値へすべての状態値をリセットします。
通常、これらの2つのモードのうちの1つを選ばなければならなくて、必要に従いアプリケーションを通してそれを使わなければなりません。2つのモードを混合すると、望まない結果となりかねず、サポートもされません。