Wpf-image

提供:Dev Guides
移動先:案内検索

WPF-画像

画像を表示するコントロール。ImageオブジェクトまたはImageBrushオブジェクトを使用できます。 Imageオブジェクトは画像を表示し、ImageBrushオブジェクトは別のオブジェクトに画像をペイントします。 画像ソースは、サポートされているいくつかの形式を使用して画像ファイルを参照することで指定されます。 次の形式を表示できます-

  • ビットマップ(BMP)
  • タグ付き画像ファイル形式(TIFF)
  • アイコン(ICO)
  • 共同写真専門家グループ(JPEG)
  • グラフィックス交換形式(GIF)
  • ポータブルネットワークグラフィックス(PNG) *JPEG XR

Imageクラスの階層継承は次のとおりです

画像の階層

Imageクラスの一般的に使用されるプロパティ

以下に、Imageの最も一般的に使用されるプロパティを示します。

Sr.No. property & Description
1
  • CanDrag*

要素をドラッグアンドドロップ操作でデータとしてドラッグできるかどうかを示す値を取得または設定します。 (UIElementから継承)

2

Height

FrameworkElementの推奨される高さを取得または設定します。 (FrameworkElementから継承されます)

3

HorizontalAlignment

FrameworkElementがパネルやアイテムコントロールなどのレイアウトの親で構成されるときにFrameworkElementに適用される水平方向の配置特性を取得または設定します。 (FrameworkElementから継承されます)

4

Margin

FrameworkElementの外側のマージンを取得または設定します。 (FrameworkElementから継承されます)

5

Name

オブジェクトの識別名を取得または設定します。 XAMLプロセッサがXAMLマークアップからオブジェクトツリーを作成するとき、ランタイムコードはこの名前でXAMLで宣言されたオブジェクトを参照できます。 (FrameworkElementから継承されます)

6

Opacity

オブジェクトの不透明度を取得または設定します。 (UIElementから継承)

7

PlayToSource

画像がPlay Toシナリオに使用される場合に送信される情報を取得します。

8

Resources

ローカルに定義されたリソースディクショナリを取得します。 XAMLでは、XAMLの暗黙的なコレクション構文を使用して、frameworkElement.Resourcesプロパティ要素の子オブジェクト要素としてリソース項目を確立できます。 (FrameworkElementから継承されます)

9

SourceProperty

Source依存プロパティを識別します。

10

Stretch

宛先四角形を塗りつぶすためにImageをどのように引き伸ばすかを記述する値を取得または設定します。

11

StretchProperty

Stretch依存プロパティを識別します。

12

Style

レイアウトおよびレンダリング中にこのオブジェクトに適用されるインスタンススタイルを取得または設定します。 (FrameworkElementから継承されます)

13

VerticalAlignment

FrameworkElementがパネルや項目コントロールなどの親オブジェクトで構成されるときにFrameworkElementに適用される垂直方向の配置特性を取得または設定します。 (FrameworkElementから継承されます)

14

Width

FrameworkElementの幅を取得または設定します。 (FrameworkElementから継承されます)

15

wSource

画像のソースを取得または設定します。

Imageクラスの一般的に使用されるイベント

以下は、Imageの最も一般的に使用されるイベントです。

Sr.No. Event & Description
1

DataContextChanged

FrameworkElement.DataContextプロパティの値が変更されたときに発生します。 (FrameworkElementから継承されます)

2

DragEnter

入力システムが、この要素をターゲットとして基になるドラッグイベントを報告したときに発生します。 (UIElementから継承)

3

DragLeave

入力システムが、この要素を起点として基本的なドラッグイベントを報告したときに発生します。 (UIElementから継承)

4

DragOver

入力システムが潜在的なドロップターゲットとしてこの要素を持つ基本的なドラッグイベントを報告するときに発生します。 (UIElementから継承)

5

DragStarting

ドラッグ操作が開始されたときに発生します。 (UIElementから継承)

6

Drop

入力システムが、この要素をドロップターゲットとして基になるドロップイベントを報告したときに発生します。 (UIElementから継承)

7

DropCompleted

ドラッグアンドドロップ操作が終了したときに発生します。 (UIElementから継承)

8

GotFocus

UIElementがフォーカスを受け取ったときに発生します。 (UIElementから継承)

9

ImageFailed

画像の取得またはフォーマットに関連するエラーがある場合に発生します。

10

ImageOpened

画像ソースがダウンロードされ、エラーなしでデコードされたときに発生します。 このイベントを使用して、画像ソースの自然なサイズを判断できます。

11

KeyDown

UIElementにフォーカスがあるときにキーボードキーが押されると発生します。 (UIElementから継承)

12

KeyUp

UIElementにフォーカスがあるときにキーボードキーが離されると発生します。 (UIElementから継承)

13

SizeChanged

ActualHeightまたはActualWidthプロパティがFrameworkElementの値を変更したときに発生します。 (FrameworkElementから継承されます)

  • WPFImageControl という名前の新しいWPFプロジェクトを作成しましょう。
  • 最初に Grid.RowDefinition を使用して、画面を2行に分割します。
  • ツールボックスから3つのイメージコントロールをドラッグします。
  • 次の例は、3つの画像を示しています。 最初の画像はシンプルな画像です。 2番目の画像では、opacityプロパティが設定されています。 3番目の画像では、1つのEclipseがImageBrushでペイントされています。
  • XAMLコードは次のとおりです-
<Window x:Class = "WPFImageControl.MainWindow"
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   Title = "MainWindow" Height = "500" Width = "604">

   <Grid>
      <Grid.RowDefinitions>
         <RowDefinition Height = "1*"/>
         <RowDefinition Height = "1*"/>
      </Grid.RowDefinitions>

      <StackPanel Orientation = "Horizontal">
         <Image Width = "200" Source = "Images\red_rock_01.jpg"
            VerticalAlignment = "Top" Margin = "30"/>
         <Image Width = "200" Source = "Images\red_rock_01.jpg" VerticalAlignment = "Top"
            Margin = "30" Opacity = "0.5"/>
      </StackPanel>

      <StackPanel Grid.Row = "1">
         <Ellipse Height = "100" Width = "200" HorizontalAlignment = "Center" Margin = "30">
            <Ellipse.Fill>
               <ImageBrush ImageSource = "Images\tahoe_01.jpg"/>
            </Ellipse.Fill>
         </Ellipse>
      </StackPanel>

   </Grid>

</Window>

上記のコードをコンパイルして実行すると、次のウィンドウが生成されます-

画像の出力

上記のサンプルコードを実行し、Imageクラスの他のプロパティとイベントを試すことをお勧めします。