Buenas!.

En este mensaje muestro dos errores conocidos al dibujar una imagen con una brocha en el componente DrawingArea.

Código Común:
Private hImage As Image

Public Sub Form_Open()

hImage = Image.Load("hat-640.jpg")

'Ajustamos el tamaño del formulario al del lienzo
With Me
Me.W = Lienzo.W
Me.H = Lienzo.H
End With

End


Ejemplo1:

Public Sub DibujarImagen1()

'La brocha de la imagen es mayor que el tamaño del lienzo

Dim x, y, w, h As Float
Dim hbrush As PaintBrush

h = Lienzo.h
w = Lienzo.W

hbrush = Paint.Image(hImage)
Paint.Brush = hbrush
'El rectangulo dibujado es del tamaño del lienzo
Paint.Rectangle(x, y, w, h)
Paint.Fill

End


Se muestra:

pincelmayorquelienzo

Ejemplo2:
Public Sub DibujarImagen2()

'La brocha de la imagen es más pequeña que el tamño del lienzo

Dim x, y, w, h As Float
Dim hbrush As PaintBrush

h = Lienzo.h
w = Lienzo.W

hbrush = Paint.Image(hImage)
'Vamos a hacer que la escala de la brocha de la imagen con la que vamos a pintar sea 1/4 de la original
hbrush.Scale(0.25, 0.25)
Paint.Brush = hbrush
'El rectangulo dibujado es del tamaño del lienzo
Paint.Rectangle(x, y, w, h)
Paint.Fill

End

Public Sub Lienzo_Draw()

'DibujarImagen1
DibujarImagen2

End


Se muestra:
pincelmenorquelienzo

Ejemplo de como mostrarla correctamente:

Private hImage As Image

Public Sub Form_Open()

Me.Title = "Mostrando Correctamente la imagen"

hImage = Image.Load("hat-640.jpg")

'Ajustamos el lienzo al tamaño de la imagen
With Lienzo
.W = hImage.W
.H = hImage.H
End With

'Ajustamos el tamaño del formulario al del lienzo
With Me
Me.W = Lienzo.W
Me.H = Lienzo.H
End With

End

Public Sub DibujarImagen()

Dim x, y, w, h As Float
Dim hbrush As PaintBrush

h = Lienzo.h
w = Lienzo.W

hbrush = Paint.Image(hImage)

Paint.Brush = hbrush
'El rectangulo dibujado es del tamaño del lienzo
Paint.Rectangle(x, y, w, h)
Paint.Fill

End

Public Sub Lienzo_Draw()

DibujarImagen

End


Ahora si queremos que nuestra imagen se ajuste al formulario podemos hacer:

Private hImage As Image

Public Sub Form_Open()

Me.Title = "Imagen se ajusta al formulario"

'Formulario al tamaño del Lienzo
With Me
.W = Lienzo.W
.H = Lienzo.H
End With

End

Public Sub DibujarImagen()

Dim x, y, w, h As Float
Dim hbrush As PaintBrush

' Se muestran las coordenadas y tamaños para referencia

h = Lienzo.H
w = Lienzo.W

hImage = Image.Load("hat-640.jpg")
hbrush = Paint.Image(hImage)
hbrush.Translate(x, y)
hbrush.Scale(w / hImage.w, h / hImage.h)
Paint.Brush = hbrush
Paint.Rectangle(x, y, w, h)
Paint.Fill

End

Public Sub Lienzo_Draw()

DibujarImagen

End

Public Sub Form_Resize()

'Lienzo al tamaño del Formulario
With Lienzo
.W = Me.w
.H = Me.H
End With

End


Y ahora el ejemplo para descargar.

Saludos