Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede rellenar una forma cerrada con una textura mediante la Image clase y la TextureBrush clase .
Ejemplo
En el ejemplo siguiente se rellena una elipse con una imagen. El código construye un Image objeto y, a continuación, pasa la dirección de ese Image objeto como argumento a un TextureBrush constructor. La tercera instrucción escala la imagen y la cuarta instrucción rellena la elipse con copias repetidas de la imagen escalada.
En el código siguiente, la Transform propiedad contiene la transformación que se aplica a la imagen antes de dibujarla. Supongamos que la imagen original tiene un ancho de 640 píxeles y un alto de 480 píxeles. La transformación reduce la imagen a 75×75 estableciendo los valores de escalado horizontal y vertical.
Nota:
En el ejemplo siguiente, el tamaño de la imagen es 75×75 y el tamaño de la elipse es de 150×250. Dado que la imagen es más pequeña que la elipse que está rellenando, la imagen se repite sobre la elipse. Mosaico significa que la imagen se repite horizontal y verticalmente hasta que se alcanza el límite de la forma. Para obtener más información sobre el mosaico, vea Cómo: Mosaico de una forma con una imagen.
Image image = new Bitmap("ImageFile.jpg");
TextureBrush tBrush = new TextureBrush(image);
tBrush.Transform = new Matrix(
75.0f / 640.0f,
0.0f,
0.0f,
75.0f / 480.0f,
0.0f,
0.0f);
e.Graphics.FillEllipse(tBrush, new Rectangle(0, 150, 150, 250));
Dim image As New Bitmap("ImageFile.jpg")
Dim tBrush As New TextureBrush(image)
tBrush.Transform = New Matrix( _
75.0F / 640.0F, _
0.0F, _
0.0F, _
75.0F / 480.0F, _
0.0F, _
0.0F)
e.Graphics.FillEllipse(tBrush, New Rectangle(0, 150, 150, 250))
Compilar el código
El ejemplo anterior está diseñado para su uso con Windows Forms y requiere PaintEventArgse
, que es un parámetro del Paint controlador de eventos.
Consulte también
.NET Desktop feedback