Oppure

Loading
11/09/09 13:29
GrG
prova a levare quel più 4

comunque per le provi metti la picture visibile così vedi quando l'immagine combacia perfettamente con la picture
aaa
11/09/09 13:37
se levo il + 4 mi vengono con 4 pixel in meno rispetto a quello che ho selezionato nella textbox .__. Non capisco bene il secondo discorso, io di image ho solo quella dell'anteprima (finita di ricalibrare ora con una proprzione, le barre di scorrimento sulle immagini ma danno i nervi xD), e la picturebox (picGrande nel codice) ce l'ho in basso con quella orribile barra grigia...
11/09/09 14:13
ok, risolto il rpblema, adesso funziona perfettamente =D Posto il codice, così se qualcuno avrà la pazienza di cercare nel forum e avrà qualche problema relativo all'argomento potrà aiutarsi col mio codice =D


Option Explicit
Dim FileSelezionato As String

Private Sub cmdOri_Click()
On Error GoTo errore
Set picGrande.Picture = Image1.Picture
picGrande.Height = txtAlt.Text + 4
picGrande.Width = txtlarg.Text + 4
picStrech
SavePicture picGrande.Image, "c:\immagini\" & File1.FileName
Exit Sub
errore:
MsgBox ("Compilare correttamente i campi o selezionare un'immagine")
End Sub


Private Sub Dir1_Change()
    File1.Path = Dir1.Path
End Sub

Private Sub File1_Click()
    Image1.Stretch = False
    FileSelezionato = File1.Path & "\" & File1.FileName
    Image1.Picture = LoadPicture(FileSelezionato)
    Dim iProp As Integer
    If Image1.Height > 473 Or Image1.Width > 505 Then
        If Image1.Height > Image1.Width Then
            iProp = 473 / Image1.Height * Image1.Width
            Image1.Height = 473
            Image1.Width = iProp
        Else
            iProp = 505 / Image1.Width * Image1.Height
            Image1.Width = 505
            Image1.Height = iProp
        End If
    End If
    Image1.Stretch = True
End Sub

Sub picStrech()
    picGrande.AutoRedraw = True
    picGrande.PaintPicture picGrande.Picture, 0, 0, picGrande.Width, picGrande.Height, 0,_
 0, picGrande.Picture.Width / 26.46, picGrande.Picture.Height / 26.46
    picGrande.Picture = picGrande.Image
End Sub



NOTE: 473 e 505 sono le dimensioni di una picturebox dove è contenuta l'imagebox per l'anteprima, la proporzione x : y = 505 : 473 permette di avere l'immagine in anteprima ridimensionata.
Ultima modifica effettuata da 11/09/09 14:14
11/09/09 14:14
GrG
mm.. non ti seguo molto... se alleghi il progetto provo a darci un'occhiata
aaa
11/09/09 14:21
GrG
ehm... quello è solo l'exe e poi mi pare che il ridimensionamento funzioni bene O.o

e poi non ho capito come si salvano :|

cmq io volevo vedere i sorgenti per darti una mano, ma al momento credo vada bene anche l'exe basta se mi dici come si fa a salvare
aaa
11/09/09 14:27
ok, con questo c'è tutto il progetto =D L'immagine viene salvata automaticamente nella cartella immagini con il nome dell'immagine originale. Ora vedrò di ottimizzarlo anche per il formato PNG (anche se la proprietà pattern delle filelistbox ancora nn l'ho capita a pieno <<;) e di fare in modo di poter sceglere la directory (e se vi è presente un'altro file con lo stesso nome di rinominare in modo da nn sovrascrivere <<;).

EDIT: mi scuso per l'assenza di commenti nel progetto, ma ho avuto poco tempo per farlo e nn ho pensato di aggiungerli...
Ultima modifica effettuata da 11/09/09 14:33
11/09/09 14:35
GrG
Ok, l'ho leggermente modificato, adesso dovrebbe funzionare :D
aaa
11/09/09 15:14
uhm, quello che hai ripostato te mi salva le immagini 4 pixel meno di quanto dovrebbero essere sia in altezza che in lunghezza ._. Anzichè salvarmi un'immagine di prova a 200x100 me l'ha salvata a 194x94 ._. L'imagine dell'anteprima è deformata per via dello stretch = true dell'imagebox ._.

EDIT: ho postato la versione vecchia, ecco xkè xD ti allego quella nuova =P
Ultima modifica effettuata da 11/09/09 15:18