RE:¿como quitar parpadeo?
El parpadeo, obedece al refresco necesario de la imagen, el control image es un control less, y por lo tanto suele dejar ver esa clase de efectos, ya que no se programa directamente sobre su Device Context, como el PictureBox.
Puede ser que puedas evitar ese defectro con la API LockWindowUpdate
Esto impide el redibujado de todo el formulario
LockWindowUpdate form1.hwnd
' aquí crearias elefecto y el estiramiento del control image
Esto refresca todo el formulario
LockWindowUpdate 0
incluyendo el control image.
Para los zoom en imagenes, siempre es preferible trabajar con controles PictureBox y la API BitBlt y StretchBlt
Declare Function BitBlt Lib "gdi32" ( ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Public Const SRCCOPY = &HCC0020
Public Const SRCAND = &H8800C6
Public Const SRCINVERT = &H660046
Public Const SRCPAINT = &HEE0086
Public Const SRCERASE = &H4400328
Public Const WHITENESS = &HFF0062
Public Const BLACKNESS = &H42
Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long