Originariamente inviato da erosmax
Come vedete, il salva sempre l'immagine rimpicciolita e non quella ingrandita.
Aiutatemi a correeggere e, specialmente, a capire dove sbaglio!
A mio avviso trovo inutile rimpicciolire l'immagine, modificarla, e poi ingrandirla di nuovo, perchè la qualità sarà sicuramente scadente.
E' più conveniente e logico modificare l'immagine a dimensioni reali, visto che QUELLA è la dimensione che dovrai salvare.

Comunque vedi tu.

Il seguente codice fa appunto questo, l'immagine viene salvata dopo essere stata modificata nelle dimensioni reali in un terzo PictureBox, aggiungi nel form:
1 PictureBox (Picture3) nascosto
1 CommandButton (cmdSalva)

Poi modifica il codice della routine File1_Click come sotto, ed aggiungi il resto del codice:

codice:
Private Sub File1_Click()
    Picture1.Picture = LoadPicture(Dir1 & "\" & File1)
    Call ScalaImg
    
    '// PREPARO immagine da salvare
    Picture3.Move Picture3.Left, Picture3.Top, Picture1.Width, Picture1.Height
    Picture3.AutoRedraw = True
    Call Picture3.PaintPicture(Picture1.Picture, 0, 0)
    Call Picture_Paint2(Picture3)
End Sub

Private Sub cmdSalva_Click()
    '//Salvo immagine
    posizione = Mid$(File1, 1, Len(File1) - 3) & "bmp"
    SavePicture Picture3.Image, Dir1 & "\NEW_" & posizione
End Sub

Private Sub Picture_Paint2(pic As PictureBox)
    Dim x As Integer
    Dim y As Integer
    x = Form1.buco.Left
    y = Form1.buco.Top
    pic.FillColor = vbWhite
    pic.FillStyle = 0
    pic.Circle (x + 120, y + 140), 480, vbBlack
End Sub