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