Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1

    [vb6]strumenti zoom e pan

    Ciao! volevo chiedervi se è possibile creare le funzioni zoom e pan per un immagine contenuta in una picture box.

  2. #2
    Nessuno sa dirmi se zoom e pan si possono fare con Vb6? Ed invece con Vbnet è possibile? Ho già inserito le barre di scorrimento per scorrere tutta l'immagine ma certo sarebbe un altro effetto se fosse possibile muovere l'immagine con la "manina" e zoomarla con la lente di ingrandimento... Vi prego datemi uno spunto!

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    VB6 non ha queste funzionalita' native.

    Devi scrivere tu il codice e non e' proprio codice da scrivere per chi inizia ...

  4. #4
    Quindi non si tratta neanche di un codice che può essere trovato in giro già pronto? Cioè intendo dire: deve essere sempre adattato al caso specifico oppure è un codice standard sempre uguale a se stesso che basta inserire in una routine?
    Per caso in vb.net si tratta di funzionalità native?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Codice che implementa zoom e pan di immagini si puo' trovare sicuramente su internet sia per VB6 che per .NET.

    Ma non posso sapere se ti andra' bene o dovra' comunque essere modificato.

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, si può fare tranquillamente, solo che il codice te lo devi scrivere..non c'è niente di pronto.
    Ti faccio un esempio per lo zoom.

    codice:
    Private Sub Zoom(percZoom As Double)
       Picture1.Cls
       Picture1.PaintPicture picBuff.Picture, 0, 0, picBuff.Picture.Width * (percZoom / 100), picBuff.Picture.Height * (percZoom / 100)
    End Sub
    
    Private Sub Command1_Click()
       Zoom CDbl(Text1.Text)
    End Sub
    
    Private Sub Form_Load()
       picBuff.Picture = LoadPicture("c:\tuaImmagine.jpg")
       Picture1.PaintPicture picBuff.Picture, 0, 0, picBuff.Picture.Width, picBuff.Picture.Height
    End Sub
    In un form metti due pictureBox, la seconda la chiami picBuff (la prima picture1 imposta la proprietà autoredraw=True), poi metti un button e una textbox
    Nella TextBox metti la percentuale che vuoi per l'immagine e poi clicchi sul button...
    Anche per il pan non è difficile, solo che bisogna fare qualche controllo in più e fare in modo di eliminare lo sfarfallio dell'immagine quando la si muove, tramite api.
    Questa parte richiede un po' più codice, e ora mi cala la palpebra..
    Comunque devi giocare con l'evento mouseMove..e altre cosucce.. intanto prova.. poi magari vedo se ti trovo qualche link dove prendere spunto..
    Jupy

  7. #7
    Grazie!!! Provo subito.

  8. #8
    Il meccanismo funziona benissimo, ti ringrazio molto.
    E' chiaro che devo capirne il funzionamento per poter fare le modifiche necessarie al mio caso e su questo forse ha ragione Oregon, non so se sono in grado di farlo. Per esempio vorrei che il pulsante facesse automaticamente ogni volta una percentuale di ingrandimento senza bisogno di scriverla su di una text box e poi che fosse il click del mouse ad agire sull'immagine e non un pulsante. Comunque ho già molti elementi per cominciare a provare.

  9. #9
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, effettivamente le tue conoscenze sono minime.. dovresti comunque leggerti bene qualche manuale e mettere in pratica gli esempi che ti propongono.. anche se, ti possono sembrare facili..ti serviranno sicuramente per capirne il meccanismo. Capisco che la voglia di fare qualcosa di più "interessante" è tanta.. ma devi andare per gradi.

    Per lo zoom con i pulsanti potresti mettere due pulsanti sul form, uno per zommare avanti e uno indietro.
    Cliccando su avanti, prima incrementi il valore della textBox (diciamo multipli di 10) e poi richiami la funzione per zoummare.
    Lo stesso per zoomare indietro, prima diminuisci il valore della textBox e poi richiami la funzione per lo zoom.
    Mentre se vuoi usare il mouse, lavora con gli eventi MouseUp e controlla il valore del parametro Botton (1=tasto sinistro, 2=tasto destro) e usi la tecnica per i pulsanti che ti ho appena detto.
    In pratica quando clicchi con il tasto sinistro aumenti il valore della textBox e poi richiami la funzione Zoom, mentre se clicchi con iltasto destro diminiusci il valore della textBxo e poi richiami la funzione Zoom..
    Sembra complicato.. ma se procedi per piccoli passi vedrai che ci arriverai..
    Jupy

  10. #10
    Hai qualche sugerimento anche per il pan di immagine?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.