ImageBrush Clase

Definición

Pintar un área con una imagen El origen de la imagen se obtiene normalmente a partir de formatos de archivo como Joint Photographic Experts Group (JPEG).

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
Herencia
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

En este ejemplo XAML se muestra cómo establecer la propiedad Foreground de un TextBlock en imageBrush, cuya imagen se usa como relleno para el texto representado por TextBlock.

<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
 FontStyle="Italic" FontWeight="Bold">
    SHRUBBERY
  <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpeg"/>
  </TextBlock.Foreground>
</TextBlock>
ImageBrush aplicado al texto

Comentarios

ImageBrush es un tipo de pincel que define su contenido como una imagen que se puede estirar y alinear opcionalmente. Los usos de imageBrush incluyen efectos decorativos para texto o fondos de imagen para controles o contenedores de diseño.

Es útil usar un ImageBrush en lugar de un control Image en dos escenarios principales:

  1. Quiere pintar un área no rectangular, como una elipse o un borde con una imagen.
  2. Quiere usar un único ImageBrush para pintar varias áreas o UIElements con la misma imagen, lo que es más eficaz que usar varios controles image .

Si define un ImageBrush mediante código, use el constructor predeterminado y, a continuación, establezca ImageBrush.ImageSource. Esto requiere bitmapImage (no un identificador uniforme de recursos [URI]) en el código. Si el origen es una secuencia, usa el método SetSourceAsync para inicializar el valor. Si el origen es un identificador uniforme de recursos (URI), que incluye contenido en la aplicación que usa los esquemas ms-appx o ms-resource , use el constructor BitmapImage que toma un identificador uniforme de recursos (URI). También puedes considerar la posibilidad de controlar el evento ImageOpened si hay problemas de temporización al recuperar o descodificar el origen de la imagen, ya que es posible que necesites que aparezca otro contenido hasta que el origen de la imagen esté disponible. Consulta ejemplo de imágenes XAML para obtener código de ejemplo.

Nota

Puede usar el control automático para acceder a recursos no calificados con calificadores de escala y referencia cultural actuales, o puede usar ResourceManager y ResourceMap con calificadores para la referencia cultural y la escala para obtener los recursos directamente. Para obtener más información, consulta Sistema de administración de recursos.

La propiedad Stretch es importante para cómo se aplica la imagen cuando se usa como pincel. Algunas imágenes se ven bien cuando se extienden según se aplican a una propiedad Brush determinada con el comportamiento Fill , mientras que otras imágenes no se estiran o escalan bien y pueden requerir un valor de None o Uniform para Stretch. Experimente con valores diferentes para Stretch para ver qué comportamiento se ve mejor cuando se aplica a la interfaz de usuario.

Orígenes y escala de las imágenes

Debes crear los orígenes de imágenes en varios tamaños recomendados, para asegurarte de que la aplicación tenga un aspecto excelente cuando Windows 8 la escale. Al especificar imageSource para imageBrush, puede usar una convención de nomenclatura que hará referencia automáticamente al recurso correcto para el escalado actual. Para ver información más específica acerca de la convención de nomenclatura y otros temas, consulta Inicio rápido: usar recursos de archivo o imagen.

Para obtener más información sobre cómo diseñar el escalado, consulta Directrices de experiencia de usuario para el diseño y el escalado.

Notas de las versiones anteriores

Windows 8

Windows 8 tenía un problema con la resolución ImageSource de un valor de URI de atributo XAML, si ImageBrush forma parte de un estilo XAML o plantilla que se aplica a un control. El uso del control a veces usaría un URI base específico del componente en lugar del URI base adecuado para el estilo o la plantilla, que normalmente procede de la aplicación. El problema se ha corregido a partir de Windows 8.1; el URI base se determina correctamente para los recursos de la aplicación o los recursos de componentes en función del ámbito que necesite el URI base. Las aplicaciones compiladas para Windows 8 podrían haber usado soluciones alternativas para este comportamiento, colocando sus archivos de origen de imagen en el lugar "incorrecto", donde el URI XAML se resolvería y la aplicación mostraría las imágenes. Si vas a migrar XAML de Windows 8 a Windows 8.1 debes probar los usos de ImageBrush en un estilo o plantilla de xaml y comprobar que la resolución de imágenes de la aplicación funciona con Windows 8.1. Si tiene un problema, debe mover los archivos de origen de la imagen dentro del paquete para que estén en el ámbito de recursos correcto para el nuevo comportamiento.

Las aplicaciones compiladas para Windows 8 que se ejecuten en Windows 8.1 siguen usando el comportamiento de Windows 8.

Constructores

ImageBrush()

Inicializa una nueva instancia de la clase ImageBrush .

Propiedades

AlignmentX

Obtiene o establece la alineación horizontal del contenido en el icono base TileBrush .

(Heredado de TileBrush)
AlignmentY

Obtiene o establece la alineación vertical del contenido en el icono base de TileBrush .

(Heredado de TileBrush)
Dispatcher

Obtiene el CoreDispatcher al que está asociado este objeto. CoreDispatcher representa una instalación que puede acceder a DependencyObject en el subproceso de la interfaz de usuario, incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)
ImageSource

Obtiene o establece el origen de la imagen mostrado por este ImageBrush. En el código que estableces con una instancia de subclase ImageSource , en XAML lo estableces con un URI en un archivo de origen de imagen.

ImageSourceProperty

Identifica la propiedad de dependencia ImageSource .

Opacity

Obtiene o establece el grado de opacidad de un pincel.

(Heredado de Brush)
RelativeTransform

Obtiene o establece la transformación que se aplica al pincel mediante coordenadas relativas.

(Heredado de Brush)
Stretch

Obtiene o establece un valor que especifica cómo se extiende el contenido de este TileBrush para ajustarse a sus mosaicos.

(Heredado de TileBrush)
Transform

Obtiene o establece la transformación que se aplica al pincel.

(Heredado de Brush)

Métodos

ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define una propiedad que se puede animar.

(Heredado de Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Cuando se invalida en una clase derivada, define una propiedad que se puede animar.

(Heredado de Brush)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente mediante una llamada a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Eventos

ImageFailed

Se produce cuando hay un error asociado a la recuperación o formato de la imagen.

ImageOpened

Se produce cuando el origen de la imagen se descarga y descodifica sin errores. Puede usar este evento para determinar el tamaño de una imagen antes de representarlo.

Se aplica a

Consulte también