LEADTOOLSコントロール(Leadtools.Topics.Controlsアセンブリ)

フレームを表示

画像ビューワ外観に記載されているように、ImageViewerコントロールのいろいろな要素は、置くビューレイアウトシステム(ビュー変換)と項目の大きさとプロパティで参加して、その位置で各項目を生成します。

ImageViewerは、要素の変換行列とバウンディング四角形を得るために、多くのプロパティとメソッドを格納します。

項目

項目のために最も重要なタスクは、imageを生成するために必要な変換マトリックスを決定しています。これは、GetItemImageTransformを用いて簡単に得られることができます。このメソッドは、ビューワ(クライアントエリアのピクセル0,0)の左上隅と比較してimageをビューワ面に置くために必要なすべての変換値を格納するLeadMatrixを返します。

カスタムにとって、imageを提出します:

  1. ビューワのレンダリングイベントの1つにサブスクライブします。詳細については、「画像ビューワのレンダリング」を参照してください。

  2. ImageViewerItem.ImageSizeまたはImageViewer.GetItemImageSizeを用いてイメージサイズを得ます。型LeadSizeDの変数でimageSize、この値を設定します

  3. 通常、全部のimageを提出することは目的です。それで、値による型LeadRectDの変数として、デスティネーション四角形を作成します 0,0,imageSize.Width,imageSize.Height

  4. GetItemImageTransformを用いてこの項目imageのために変換行列を得て、型LeadMatrixの変数imageTransformで、それを設定します

  5. レンダリングコンテキストにこのマトリックスを設定します

  6. デスティネーション四角形を用いてimageを提出します

イメージ変換に加えて、以下を使用して変換マトリックスを項目の他のどの一部にも得させることができます:

メンバ 説明
GetItemTransform

項目そのものの変換を返します。たとえば、項目パディングを追加した後に項目境界を描画するのに用いられます

GetItemContentTransform

コンテンツ領域のために変換を返します

GetItemFloaterTransform

フローターimage(任意であるならば)のために、変換を返します。フローターがimageを提出しているカスタムのために同様に説明したカスタムレンダリングへのGetItemFloaterSizeの利用

ビューワは、物理的な(コントロール)と論理的(ビューの中に)座標で項目(または、それを少しでも分けます)のバウンディング四角形を得るために、多くのメソッドとプロパティを格納します:

メンバ 説明
GetItemViewBounds

imageを含むアイテムの任意の部分の現在の物理的な(コントロールピクセル座標で)境界を取得します

GetItemBounds

imageを含むアイテムの任意の部分の現在の論理的(現在の変換を除外する)境界を取得します

GetItemViewBoundsは、imageを含むアイテムの任意の部分の現在の物理的な(コントロールピクセル座標で)境界を得るのに用いられることができます。このメソッドは、クリッピング長方形に対して手動のヒットテストまたはテストを実行することに役立つことがありえます。GetItemBoundsは、論理的座標(現在の変換を除外する)で、同じ値を返します。

ImageViewerItemPart列挙体が、興味があるアイテムの部分に寄与するために、メソッドとプロパティで使われることができます。

ビュー

ビューは、ViewTransformによって得られるマトリックスを用いて提出されます。ビュー境界は、GetViewBoundsを用いて得られることができます。ビューを提出しているカスタムは、ビュー値で画像変換と境界を置換することより上にimageを提出しているカスタムで説明されて、同様に実行されることができます。

座標系と変換

imageまたはビューのポイントが論理的座標である間、パソコンのマウスをクリックすることなどのイベントから得られるポイントは物理的な(ピクセル)座標です。1つの座標からもう一つにポイントを変換することは、正しい変換行列を適用することを必要とします。これは、含まれていて、ポイントを変形しているか、自動的に以下のImageViewerヘルパーメソッドのどれでも使っているマトリックスを得ることによって、手動でされることができます:

メンバ 説明
ConvertPoint

任意の座標からもう一つにポイントを変換します

ConvertPoints

任意の座標からもう一つにポイントの配列を変換します

ConvertRect

任意の座標からもう一つに長方形を変換します

ConvertTransform

様々な項目と比較してなんとかするために、項目と比較して変換行列を変換します

ConvertBoundsToView

論理的にから物理的なビュー座標に長方形を変換します

参照

参照

ImageViewerを用いて
Windows.Formsによる画像ビューワの利用
画像ビューワ外観
画像ビューワの項目
画像ビューワの変換
画像ビューワのレイアウト
画像ビューワのレンダリング
画像ビューワのスクローリング
画像ビューワの対話モード
画像ビューワのそのほかのオプション
画像ビューワのシングルアイテムモード
画像ビューワのバーチュアライザ
画像ビューワのドラッグ&ドロップ