Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Zomm alla picture box

  1. #1

    Zomm alla picture box

    Ciao a tutti! c'e qualcuno che sa come applicare uno zoom ad una picture box senza aprire l'immagine?
    Ahhh! Prima ho sbagliato forum!!

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Eeeeh? :master:
    Come sarebbe senza aprire l'immagine?
    Spiegati meglio!

  3. #3
    ...Mmmm cioè diminuire o allargare l'immagine dal form...
    Magari premendo due tasti (+ e -) sul form....senza far aprire un programma....
    scusa non so spiegarmi...

  4. #4
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Ok

    Usi questa funzione:
    codice:
    NomePicture.PaintPicture(Immagine, PosizioneX, PosizioneY, Larghezza, Altezza,e poi altri parametri facoltativi che nn ti servono)
    Immagine la puoi caricare con LoadPicture oppure usi una variabile di tipo StdPicture, in cui carichi l'immagine sempre usando PaintPicture().

    PosizioneX e PosizioneX sono i pixel dal bordo superiore sinistro da saltare.

    Larghezza e Altezza sono anche in pixel.
    Cambiando il valore di questi ultimi riesci ad ottenere lo zoom.

  5. #5
    Grazie..
    sai anche come si rimpicciolisce l'immagine...
    Sono agli inizi e sono poco intuitivo....
    Ciao Grazie ancora

  6. #6

    altezza e larghezza le imposti come vuoi quindi:
    + alto valore = + grande l'immagine
    valori più piccoli = immagine + piccola

  7. #7
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Come si rimpicciolisce un'immagine?
    Te l'ho appena detto!

    Esempione:
    codice:
    'Fattore di riduzione
    Dim Riduz as Single
    Dim Img as stdPicture
    
    'Al load del form
    Private Sub Form_Load()
    'Carica il file Immagine.bmp nella cartella
    'del programma
    Img = LoadPicture(App.Path & "\Immagine.bmp")
    Call Ridisegna()
    End Sub
    
    'Click sul pulsante Zoom+
    Private Sub ZoomInc_Click()
    Riduz = Riduz * 1.5
    Call Ridisegna()
    End Sub
    
    'Click sul pulsante Zoom-
    Private Sub ZoomDec_Click()
    Riduz = Riduz / 1.5
    Call Ridisegna()
    End Sub
    
    'Sub che ridisegna l'immagine
    Private Sub Ridisegna()
    call Picture1.PaintPicture(Img,0,0,Img.Width * Riduz,Img.Height * Riduz)
    End sub
    Dovrebbe funzionare...

  8. #8
    Grazie a tutti!
    Spero un giorno di imparare qualcosa!!!!
    Ciao

  9. #9
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Scusa se il codice che ti ho dato nn funzia, ora debuggo

  10. #10
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Ecco il codice debuggato:
    (te lo adatti come vuoi):

    codice:
    'Fattore di riduzione
    Dim Riduz As Single
    Dim Img As StdPicture
    
    'Al load del form
    Private Sub Form_Load()
    'Carica il file Immagine.bmp nella cartella
    'del programma
    Set Img = LoadPicture("C:\Documents and Settings\Andrea\Documenti\Immagini\Varie (Mie)\BellaSfera.bmp")
    Riduz = 1
    Call Ridisegna
    
    End Sub
    
    'Click sul pulsante Zoom+
    Private Sub ZoomInc_Click()
    Riduz = Riduz * 1.5
    Call Ridisegna
    End Sub
    
    'Click sul pulsante Zoom-
    Private Sub ZoomDec_Click()
    Riduz = Riduz / 1.5
    Call Ridisegna
    End Sub
    
    'Sub che ridisegna l'immagine
    Private Sub Ridisegna()
    Call Picture1.PaintPicture(Img, 0, 0, Img.Width * Riduz, Img.Height * Riduz)
    End Sub
    Tanto per dire, i 2 errori erano:

    Non inizializzava la variabile Riduz a 1
    Bisognava usare "Set Img = LoadPicture()"


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.