Como: Usar o elemento Imagem
Este exemplo mostra como incluir imagens em um aplicativo usando o elemento Image.
Exemplo
O exemplo a seguir mostra como renderizar uma imagem de 200 pixels de largura. Nesse exempo de Extensible Application Markup Language (XAML), a sintaxe da marca de propriedade e a sintaxe de atributo são usadas para definir a imagem. Para obter mais informações sobre sintaxe de atributo e a sintaxe de propriedade, consulte Visão geral sobre propriedades de dependência. Uma BitmapImage é usada para definir a fonte de dados da imagem e é explicitamente definida para o exemplo de sintaxe de marca de propriedade. Além disso, a DecodePixelWidth da BitmapImage é definida com a mesma largura da Width da Image. Isso é feito para garantir que uma quantidade mínima de memória seja usada ao renderizar a imagem.
Observação: |
---|
Em geral, se desejar especificar o dimensionar de uma imagem renderizada, especifique apenas o Width ou o Height mas não ambos. Se você especificar apenas um, a razão de proporção da imagem é preservada. Caso contrário, a imagem pode aparecer inesperadamente alongada ou distorcida. Para controlar o comportamento de esticamento da imagem, use as propriedades Stretch e StretchDirection. |
Observação: |
---|
Quando você especificar o dimensionar de uma imagem com um Width ou Height, você deve também conjunto DecodePixelWidth ou DecodePixelHeight para o mesmo dimensionar respectivo. |
A propriedade Stretch determina como a fonte da imagem é esticada para preencher o elemento de imagem. Para obter mais informações, consulte a enumeração 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>
O exemplo a seguir mostra como processar uma imagem de 200 pixels de largura usando código.
Observação: |
---|
Configuração BitmapImage propriedades devem ser feitas dentro de um BeginInit e EndInit bloco. |
' 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;