次の方法で共有


方法 : イメージ要素を使用する

更新 : 2007 年 11 月

この例では、Image 要素を使用してアプリケーションにイメージを含める方法を示します。

使用例

幅が 200 ピクセルのイメージをレンダリングする方法を次の例に示します。この Extensible Application Markup Language (XAML) の例では、属性構文とプロパティ タグ構文はどちらもイメージを定義するために使用されています。属性およびプロパティの構文については、「依存関係プロパティの概要」を参照してください。BitmapImage はイメージのソース データを定義するために使用されており、プロパティ タグ構文の例に対して明示的に定義されています。また、BitmapImageDecodePixelWidth は、ImageWidth と同じ幅に設定されています。これは、イメージのレンダリングに使用されるメモリの消費量を最小限に抑えるためです。

ms747027.alert_note(ja-jp,VS.90).gifメモ :

一般的に、レンダリングされたイメージのサイズを指定する場合は、Width または Height の一方のみを指定し、両方は指定しません。いずれか一方を指定すると、イメージの縦横比を保つことができます。両方指定すると、予期しないイメージの拡大やゆがみが発生する場合があります。イメージの拡大動作を制御するには、Stretch プロパティおよび StretchDirection プロパティを使用します。

ms747027.alert_note(ja-jp,VS.90).gifメモ :

イメージのサイズを Width または Height で指定した場合、DecodePixelWidth または DecodePixelHeight も同じように対応させて設定する必要があります。

Stretch プロパティは、イメージ ソースを引き伸ばしてイメージ要素を埋める方法を示します。詳細については、Stretch 列挙体の解説を参照してください。

<!-- Simple image rendering. However, rendering an image this way may not
     result in the best use of application memory. See markup below which
     creates the same end result but using less memory. -->
<Image Width="200" 
Source="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg"/>

<Image Width="200">
  <Image.Source>
    <!-- To save significant application memory, set the DecodePixelWidth or  
     DecodePixelHeight of the BitmapImage value of the image source to the desired 
     height and width of the rendered image. If you don't do this, the application will 
     cache the image as though it were rendered as its normal size rather then just 
     the size that is displayed. -->
    <!-- Note: In order to preserve aspect ratio, only set either DecodePixelWidth
         or DecodePixelHeight but not both. -->
    <BitmapImage DecodePixelWidth="200"  
     UriSource="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg" />
  </Image.Source>
</Image>

コードを使用して幅が 200 ピクセルのイメージをレンダリングする方法を次の例に示します。

ms747027.alert_note(ja-jp,VS.90).gifメモ :

BitmapImage プロパティは、BeginInit/EndInit ブロック内で設定する必要があります。

' Create Image Element
Dim myImage As New Image()
myImage.Width = 200

' Create source
Dim myBitmapImage As New BitmapImage()

' BitmapImage.UriSource must be in a BeginInit/EndInit block
myBitmapImage.BeginInit()
myBitmapImage.UriSource = New Uri("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg")

' To save significant application memory, set the DecodePixelWidth or  
' DecodePixelHeight of the BitmapImage value of the image source to the desired 
' height or width of the rendered image. If you don't do this, the application will 
' cache the image as though it were rendered as its normal size rather then just 
' the size that is displayed.
' Note: In order to preserve aspect ratio, set DecodePixelWidth
' or DecodePixelHeight but not both.
myBitmapImage.DecodePixelWidth = 200
myBitmapImage.EndInit()
'set image source
myImage.Source = myBitmapImage
// Create Image Element
Image myImage = new Image();
myImage.Width = 200;

// Create source
BitmapImage myBitmapImage = new BitmapImage();

// BitmapImage.UriSource must be in a BeginInit/EndInit block
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg");

// To save significant application memory, set the DecodePixelWidth or  
// DecodePixelHeight of the BitmapImage value of the image source to the desired 
// height or width of the rendered image. If you don't do this, the application will 
// cache the image as though it were rendered as its normal size rather then just 
// the size that is displayed.
// Note: In order to preserve aspect ratio, set DecodePixelWidth
// or DecodePixelHeight but not both.
myBitmapImage.DecodePixelWidth = 200;
myBitmapImage.EndInit();
//set image source
myImage.Source = myBitmapImage;

参照

処理手順

イメージ要素のサンプル

概念

イメージングの概要