(Leadtools.Controls)

フレームを表示

TransformChangedイベント




ビューワやいずれかの項目の変換行列に変更があると発生します。
構文
public event EventHandler TransformChanged
'Declaration
 
Public Event TransformChanged As EventHandler
解説

ビューの変換行列または項目のどれでもユーザーインターフェースによってプログラムに基づいた変更かエンドユーザー対話操作によって変更するとき、このイベントは発生されます。

計算が必要としたすべてが実行されたあと、イベントはUpdateTransformメソッドによって発生されます、ビューワの何でも変更するとき、それはユーザーにキャッチ全ての通知に対して可能性を与えます。

詳細は、画像ビューワの項目画像ビューワの変換画像ビューワの境界と変換画像ビューワのレイアウトを参照します。

EventArgs
サンプル

このサンプルはビューワのTransformChangedイベントにフックして、現在の最初と最大の見える項目を追跡します。

デモを実行して、例ボタンをクリックして、ビューワをパンしてズームして、値がラベルで示されることがわかります。

ImageViewerサンプルからサンプル関数内のコードをすべて削除し("// TODO:ここにサンプルコードを追加します"というコメントを検索する)、以下のコードを挿入します。

Copy Code  
Imports Leadtools
Imports Leadtools.Controls
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color

' Clear all the images already the viewer
_imageViewer.Items.Clear()
' Use vertical view layout
_imageViewer.ViewLayout = New ImageViewerVerticalViewLayout()
' Make sure the item size is larger than the image size (thumbnails mode)
_imageViewer.ItemSize = LeadSize.Create(200, 200)
_imageViewer.ItemPadding = New Padding(8, 8, 8, 20)
_imageViewer.ItemBorderThickness = 1
_imageViewer.ImageBorderThickness = 1
' Add 4 items to the viewer
Using codecs As New RasterCodecs()
   For page As Integer = 1 To 4
      Dim item As New ImageViewerItem()
      Dim fileName As String = Path.Combine(ImagesPath.Path, String.Format("ocr{0}.tif", page))

      ' Create a thumbnail from the image
      Using image As RasterImage = codecs.Load(fileName, page)
         item.Image = image.CreateThumbnail(180, 180, 24, RasterViewPerspective.TopLeft, RasterSizeFlags.Resample)
      End Using

      item.Text = String.Format("Item {0}", page - 1)
      _imageViewer.Items.Add(item)
   Next page
End Using

' Hook to the TransformChanged event that shows occur whenever we pan or zoom
AddHandler _imageViewer.TransformChanged,
Sub(sender, e)
   ' Get the GetFirstVisibleItem and largest
   Dim firstVisible As ImageViewerItem = _imageViewer.GetFirstVisibleItem(ImageViewerItemPart.Item)
   Dim largest As ImageViewerItem = _imageViewer.GetLargestVisibleItem(ImageViewerItemPart.Item)

   ' Show both in the label
   If Not firstVisible Is Nothing Then
      If Not largest Is Nothing Then
         _label.Text = String.Format("First visible {0} - Largest {1}", firstVisible.Text, largest.Text)
      Else
         _label.Text = String.Format("First visible {0} - Largest {1}", firstVisible.Text, "none")
      End If
   Else
      If Not largest Is Nothing Then
         _label.Text = String.Format("First visible {0} - Largest {1}", "none", largest.Text)
      Else
         _label.Text = String.Format("First visible {0} - Largest {1}", "none", "none")
      End If
   End If
using Leadtools;
using Leadtools.Controls;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;

// Clear all the images already the viewer
_imageViewer.Items.Clear();
// Use vertical view layout
_imageViewer.ViewLayout = new ImageViewerVerticalViewLayout();
// Make sure the item size is larger than the image size (thumbnails mode)
_imageViewer.ItemSize = LeadSize.Create(200, 200);
_imageViewer.ItemPadding = new Padding(8, 8, 8, 20);
_imageViewer.ItemBorderThickness = 1;
_imageViewer.ImageBorderThickness = 1;
// Add 4 items to the viewer
using (var codecs = new RasterCodecs())
{
   for (var page = 1; page <= 4; page++)
   {
      var item = new ImageViewerItem();
      var fileName = Path.Combine(ImagesPath.Path, string.Format("ocr{0}.tif", page));

      // Create a thumbnail from the image
      using (var image = codecs.Load(fileName, page))
      {
         item.Image = image.CreateThumbnail(180, 180, 24, RasterViewPerspective.TopLeft, RasterSizeFlags.Resample);
      }

      item.Text = string.Format("Item {0}", page - 1);
      _imageViewer.Items.Add(item);
   }
}

// Hook to the TransformChanged event that shows occur whenever we pan or zoom
_imageViewer.TransformChanged += (sender, e) =>
{
   // Get the GetFirstVisibleItem and largest
   var firstVisible = _imageViewer.GetFirstVisibleItem(ImageViewerItemPart.Item);
   var largest = _imageViewer.GetLargestVisibleItem(ImageViewerItemPart.Item);

   // Show both in the label
   _label.Text = string.Format("First visible {0} - Largest {1}",
      firstVisible != null ? firstVisible.Text : "none",
      largest != null ? largest.Text : "none");
};
必要条件

ターゲットプラットホーム

参照

参照

ImageViewerクラス
ImageViewerメンバ