Newsgroup: it.comp.lang.visual-basic
Titolo: [?]Visualizzatore di immagini

Ciao a tutti, sono da poco alle prese con la costruzione di un
visualizzatore di immagini modello "acdsee", ma non riesco assolutamente a
far si che le immagini si ridimensionino automaticamente e così quelle che
sono più grandi dell'area che ho dedicato alla visualizzazione si
schiacciano, mentre quelle che sono più piccole sgranano.
Come posso fare?
Ringrazio in anticipo chiunque sia così gentile da rispondermi.
Ciao a tutti, Pat ;-)

 Come posso fare?
Bisognerebbe sapere come hai deciso di visualizzarle. Dal contesto dedurrei
che vengono caricate in controlli image. Se cosi' e', allora impostane la
proprieta' Stretch a True.
Ciao
Aldo

Stretch è già impostato a true......sigh....., comunque grazie mille per la
gentile ed immediata risposta.
Se ti viene in mente qualche altra idea la aspetto impazientemente, ciao
Pat.

 ha scritto nel messaggio
news:2KZa6.111012$eB2.8...@news.infostrada.it...

Allora, carichi, l'imagine in un controllo, image reso invisibile con
strech=false poi controlli le dimensioni dell'immagine originale, e con una
semplice proporzione la inserisci in un controllo image delle dimensioni da
te scelte. sevuoi un'esempio cerca su 
www.deja.com
un post con oggetto Zoom del 23/12/00, se non lo trovi lo riposto.
Ciao VB

 wrote in message
94ianh$3ca$1...@serv1.albacom.net...


 wrote in message
5Y2b6.115126$eB2.8...@news.infostrada.it...


 Pat.
REPLAY: (In realtà fa lo zoom e lo scroll perché se leggi tra le righe c'é
la soluzione per quello che chiedi)
Non so se è semplice o efficace però funziona (VB6):
In un Form inserisci:
1 controllo picturebox di Nome picContenitore
1 controllo image di Nome imgZoom dentro picContenitore
1 controllo picturebox di Nome picOriginale (Visible=False)
1 scrollbar orizz. di nome hScr dentro picContenitore
1 scrollbar vert. di nome vScr dentro picContenitore
1 slider di nome sldZoom (Min=1 Max=400) lo trovi in Microsot CommonControls
poi inserisci il seguente codice:
Option Explicit
Dim sngRapporto As Single
Private Sub Form_Load()
    Set picOriginale = LoadPicture(App.Path & "\FOTO.BMP")
    Set imgZoom = picOriginale
    sngRapporto = picOriginale.Width / picOriginale.Height
    imgZoom.Visible = False
    'Posiziono e dimensiono le ScrollBar
    hscr.Move picContenitore.Left, picContenitore.Height +
picContenitore.Top, picContenitore.Width
    hscr.Max = imgZoom.Width - picContenitore.Width
    hscr.SmallChange = picContenitore.ScaleWidth / 50
    hscr.LargeChange = picContenitore.ScaleWidth / 5
    vscr.Move picContenitore.Width + picContenitore.Left,
picContenitore.Top, vscr.Width, picContenitore.Height
    vscr.Max = imgZoom.Height - picContenitore.Height
    vscr.SmallChange = picContenitore.ScaleHeight / 50
    vscr.LargeChange = picContenitore.ScaleHeight / 5
    'Rendo visibili le scrollbar se 'immagine è + grande di
    'picContenitore
    vscr.Visible = picContenitore.ScaleHeight < imgZoom.Height
    hscr.Visible = picContenitore.ScaleWidth < imgZoom.Width
    imgZoom.Move 0, 0
    Me.Caption = "Dimensioni Originali"
    imgZoom.Visible = True
End Sub
Private Sub sldZoom_Change()
    Dim sngZoom As Single
    sngZoom = sldZoom.Value / 100
    imgZoom.Stretch = True
    imgZoom.Move 0, 0, picOriginale.Width * sngZoom, picOriginale.Width *
sngZoom / sngRapporto
    Set imgZoom.Picture = picOriginale
    hscr.Max = imgZoom.Width - picContenitore.Width
    vscr.Max = imgZoom.Height - picContenitore.Height
    vscr.Visible = picContenitore.ScaleHeight < imgZoom.Height
    hscr.Visible = picContenitore.ScaleWidth < imgZoom.Width
    Select Case sldZoom.Value
    Case 100
        Me.Caption = "Dimensioni Originali"
    Case Is < 100
        Me.Caption = "Riduzione: " & sldZoom.Value & "%"
    Case Is > 100
        Me.Caption = "Ingrandimento: " & sldZoom.Value & "%"
    End Select
End Sub
Private Sub hscr_Change()
    imgZoom.Left = -hscr.Value
End Sub
Private Sub hscr_Scroll()
    imgZoom.Left = -hscr.Value
End Sub
Private Sub vscr_Change()
    imgZoom.Top = -vscr.Value
End Sub
Private Sub vscr_Scroll()
    imgZoom.Top = -vscr.Value
End Sub
Per quanto riguarda il merge prova a guardare sull'help la proprietà
paintpicture dell'oggetto picture, l'ultimo parametro ti permette di unire
due immagini
Se non è chiaro riposta che ne parliamo.
Meglio che 
www.daja.com
   8-)))
Ciao VB

 presto,
si trova
http://www.deja.com/home_ps.shtml
autore valter
lingua italiano
ng iclvb
subj zoom
--> 23.12.00


Grazie Mille sia a Valter che a Pal!!!
Ciao, Pat.