Newsgroup: it.comp.appl.access
Titolo: programma per resize di immagini

vi chiedo in vba è complicato svilluppare un programma che avendo in 
ingresso una qualsiasi immagine
e impostando risoluzione e formato in uscita mi dia tale immagine?
esempio in ingresso un immagiine 1024x764 bmp
vorrei fare una funzione che ha come parametri
function(imgorigine, risoluzioneuscitaX, risoluziooneuscitaY, fileuscita)
esempio utilizzo
function("c:\pippo.bmp", 320, 200, c:\pluto.jpg)
è fattibile? esistono magari utilità freeware da usare nel proprio programma 
che fanno queste conversioni in modo trasparente senza l'intervento di un 
operatore?
Grazie a tutti. 

[stracut]
leggi quanto segue ... testa ... e fammi sapere!!!
Variare le dimensioni di una Picture (Stretch) con un comando Visual Basic
Con il metodo PaintPicture,puoi copiare e riadattare una picture.
In un Form inserire 2 Picture.
La 1ª con nome picOld con proprietà:
    AutoSize = True
    Visible = False
    Picture = Assegnare l'immagine desiderata
La 2ª Picture con nome picNew con proprietà:
    AutoSize = True
    Visible = True
    Picture = non assegnare alcuna immagine
Assicurarsi che lo ScaleMode di picOld sia lo stesso dello ScaleMode di
picNew.
Infine inserire questo codice d'esempio:
Private Sub Form_Load()
Dim fattoreDiRiduzione As Single
fattoreDiRiduzione = 2
RidimensionaPic fattoreDiRiduzione
End Sub
Public Sub RidimensionaPic(fattoreDiRiduzione As Single)
picOld.AutoSize = True
picNew.Width = picOld.Width / fattoreDiRiduzione
picNew.Height = picOld.Height / fattoreDiRiduzione
picNew.AutoRedraw = True
picNew.PaintPicture picOld.Picture, 0, 0, picNew.ScaleWidth,
picNew.ScaleHeight, 0, 0, picOld.ScaleWidth, picOld.ScaleHeight
End Sub
La picture in picNew sarà come dimensioni la metà di picOld, variare il
fattoreDiRiduzione per ottenere diversi ingrandimenti o riduzioni.
2° Metodo
In un Form inserire 2 Picture.
La 1ª con nome picOrigine con proprietà:
    AutoSize = True
    Visible = False
    Picture = Assegnare l'immagine desiderata o caricarla a RunTime
La 2ª Picture con nome picDest con proprietà:
    AutoSize = False
    Visible = True
    Picture = non assegnare alcuna immagine
    Height = quella da Te desiderata
    Width = quella da Te desiderata
Assicurarsi che lo ScaleMode di picOrigine sia lo stesso dello ScaleMode di
picDest.
Infine inserire questo codice d'esempio:
Private Sub Form_Load()
RidimensionaImmagine picOrigine,picDest
End Sub
'Dimensionare un'immagine in una PictureBox
'preservando le su proporzioni originali.
'Copia l'immagine da picOrigine in picDest
'ridimensionandola in modo da avere le stesse
'proporzioni dell'immagine originale.
Public Sub RidimensionaImmagine(ByVal picOrigine As PictureBox, picDest As
PictureBox)
Dim fAspettoOrigine As Single
Dim fLarghezza As Single
Dim fAltezza As Single
'Ricava la proporzione dell'immagine originale
fAspettoOrigine = picOrigine.ScaleWidth / picOrigine.ScaleHeight
'Ricava la grandezza utilizzabile
fLarghezza = picDest.ScaleWidth
fAltezza = picDest.ScaleHeight
'Adegua il rapporto fLarghezza/fAltezza
'in modo da armonizzarsi con fAspettoOrigine.
If fLarghezza / fAltezza > fAspettoOrigine Then
    'L'area è troppo corta ed ampia,
    'la restringe.
    fLarghezza = fAspettoOrigine * fAltezza
Else
    'L'area è troppo lunga e stretta.
    'la restringe.
    fAltezza = fLarghezza / fAspettoOrigine
End If
'Centra l'immagine alla grandezza corretta
picDest.AutoRedraw = True
picDest.Cls
picDest.PaintPicture picOrigine.Picture, _
(picDest.ScaleWidth - fLarghezza) / 2, _
(picDest.ScaleHeight - fAltezza) / 2, _
fLarghezza, fAltezza
End Sub


Grazie li provo e ti faccio sapere ciao.