Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 48
  1. #1

    [VB6] Ridimensionare un'immagine in base alle dim della PictureBox che la contiene

    Salve a tutti

    Ho la necessità di inserire una fotografia all'interno di una PictureBox.
    Il mio problema sta nel riuscire a ridimensionare l'immagine in base alle dimensioni della PictureBox contenitore.
    Ho preso una vecchia procedura creata dal mio capo che dovrebbe fare tutto questo... ma non va'; in pratica sembra che tutto funzioni, ma l'immagine non viene affatto ridimensionata in base alla PictureBox.

    Sapreste darmi una mano? è un po' che ci sbatto la testa, e sono sicura che la cosa è banale, ma ormai ne ho la testa piena e non scoverò mai l'errore...
    codice:
    'NEL FORM
    'ho una picture box con dimensioni fisse
    'nella sezione dichiarazioni ho dichiarato 2 costanti:
    Const cstLngAltPCBox As Long = 3735
    Const cstLngLargPCBox As Long = 4455
    
    'nella sub che carica l'immagine chiamo la sub che la ridimensiona
    '      e che si trova su un modulo di classe
    Private Sub InserisciFotografia()
      'carico i dati dal db, creo il file immagine
       ...
    
      ' Assegna il file creato alla picturebox pcFoto
      ' strPerc è il percorso del file immagine sull'HD
    
      ' Carica l'immagine
      pcFoto.Picture = LoadPicture(strPerc)
      ' Riassegna l'altezza e la larghezza alla PictureBox
      pcFoto.Width = cstLngLargPCBox
      pcFoto.Height = cstLngAltPCBox
            
      ' Chiama la sub che dimensiona l'immagine 
      '   in modo che entri all'interno della PictureBox
      ' pcFoto è l'oggetto PictureBox, 
      '   lngLarg è la larhgezza del controllo e 
      '   lngAlt la sua altezza
      ' l'immagine non può superare le dimensioni 
      '   dell'oggetto PictureBox che la contiene
      ' clsFile è il modulo di classe che gestisce l'immagine
    
      Call clsFile.DimensionaImmagine(pcFoto, _
                   cstLngLargPCBox, cstLngAltPCBox)
    
    End Sub
    
    '**********************************
    ' NEL MODULO DI CLASSE
    ' Ridimensiona l'immagine in base alle dimensioni dell'oggetto
    '   PictureBox presente nel form form
    Public Sub DimensionaImmagine(ByVal pcFotografia As PictureBox, _
                                  ByVal lngLargMax As Long, _
                                  ByVal lngAltMax As Long)
    
        Dim lngLargImg As Long, lngAltImg As Long, 
        Dim lngLarg As Long, lngAlt As Long
    
        ' Prende le dimensioni dell'immagine contenuta 
        '   nel controllo PictureBox
        lngLargImg = pcFotografia.Picture.Width
        lngAltImg = pcFotografia.Picture.Height
    
        ' Rapporta le dimesioni dell'immagine 
        '    con quelle dell'oggetto PictureBox contenitore
        If lngLargImg < lngLargMax And lngAltImg < lngAltMax Then
    
            pcFotografia.AutoSize = False
    
        Else
    
            lngAlt = lngAltImg / (lngLargImg / lngLargMax)
    
            If lngAlt <= lngAltMax Then
    
                pcFotografia.Height = lngAltMax
                pcFotografia.Width = lngLargMax
    
            Else
    
                pcFotografia.Height = lngAltMax
                pcFotografia.Width = lngLargImg / (lngAltImg / lngAltMax)
    
            End If
        End If
    
    End Sub
    grazie a tutti

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    ...ehm...e impostare la prop. strech a true usando un controllo image anziche' una picture box??
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Originariamente inviato da vonkranz
    ...ehm...e impostare la prop. strech a true usando un controllo image anziche' una picture box??
    usando stretch però perdo le proporzioni... o no? :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Originariamente inviato da ladyBlu
    usando stretch però perdo le proporzioni... o no? :master:
    si certo
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Originariamente inviato da xegallo
    si certo
    appunto...
    e io non voglio che si perdano, per questo ho tutti quei calcoli.
    proprio non si capisce cos'è che non va' in quella sub?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Oppure puoi usare PaintPicture:

    codice:
    NomeControlloPicture.PaintPicture(Immagine as stdPicture,X as integer,Y as integer, Larghezza as integer, Altezza as integer)
    [EDIT]
    Ops nn avevo letto delle proporzioni, ma basta farsi alcuni calcoli...
    [/EDIT]

  7. #7
    Originariamente inviato da iguana13
    Oppure puoi usare PaintPicture:

    codice:
    NomeControlloPicture.PaintPicture(Immagine as stdPicture, _
        X as integer, Y as integer, _
        Larghezza as integer, Altezza as integer)
    ora provo

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    credo di aver tralasciato un'informazione utile...
    se la fotografia è più piccola della picture box, sarà quest'ultima a doversi rimpicciolire...
    quindi mi sa che il suggerimento tuo, iguana, non posso utilizzarlo :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  9. #9
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Allora,per chiarezza, faccio 2 domandine:

    La fotografia,se è + grande della PictureBox, è da ridimensionare?
    La picturebox, se è + grande della fotografia, è da ridimensionare?

    La fotografia deve rimanere sempre proporzionale?

    :master:

  10. #10
    Originariamente inviato da iguana13
    Allora,per chiarezza, faccio 2 domandine:

    La fotografia, se è + grande della PictureBox, è da ridimensionare?
    La picturebox, se è + grande della fotografia, è da ridimensionare?

    La fotografia deve rimanere sempre proporzionale?

    :master:
    si a tutte e tre le domande...

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.