Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di erosmax
    Registrato dal
    Jan 2003
    Messaggi
    119

    [VB6] Salvataggio immagine

    Salve, ancora che combatto con questa dannata situazione
    Ho una immagine su un controillo PictureBox di grosse dimensioni (Picture1).
    Devo rimpicciolire questa immagine per poterci lavorare (mettere dei cerchi neri e riempirli)... e fin qui tutto bene (ho creato una seconda PictureBox: Picture2).
    Ora dovrei fare in modo che quest'ultima, si salvasse con le dimensioni della prima dopo aver apportato le suddette aggiunte... ma nulla, non riesco.
    Ho provato a dare io la dimensione ma continua sempre a salvarmi il file ridotto.
    Ecco il codice incriminato:
    codice:
    Picture1.AutoRedraw = True
    Picture1.AutoSize = True
      
    Picture1.Picture = Picture2.Image
     
    Picture1.PaintPicture Picture2.Image, 0, 0, 1960, 1312
    Picture1.Refresh
    posizione = Mid$(File1, 1, Len(File1) - 3) & "bmp"
    SavePicture Picture1, Dir1 & "\new_" & posizione
    ...invece di salvare l'immagine a 1960x1312, me la salva in 613x357.

    Se provo a togliere

    codice:
    Picture1.Picture = Picture2.Image
    L'immagine che mi salva ha la dimensione desiderata, ma non è quella con la modifica fatta sulla Picture2, ma l'originale.

    Potete aiutarmi? Dove sbaglio?
    Grazie.
    Non ho nulla da dire...e lo stò dicendo!
    - Scarica i miei Software FREE

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB6] Salvataggio immagine

    Originariamente inviato da erosmax
    Salve, ancora che combatto con questa dannata situazione
    Mi sembra infatti di aver già letto questo problema.
    Ma un bel po' di tempo fa.

    Perchè non fai un progettino di test e lo pubblichi così ci diamo un'occhiata?

  3. #3
    Utente di HTML.it L'avatar di erosmax
    Registrato dal
    Jan 2003
    Messaggi
    119
    Infatti lo hai già letto!
    Dove lo metto?
    Non ho nulla da dire...e lo stò dicendo!
    - Scarica i miei Software FREE

  4. #4
    Utente di HTML.it L'avatar di erosmax
    Registrato dal
    Jan 2003
    Messaggi
    119
    Scaricatelo da qui:

    Prova Resize

    Come vedete, il salva sempre l'immagine rimpicciolita e non quella ingrandita.
    Aiutatemi a correeggere e, specialmente, a capire dove sbaglio!
    Non ho nulla da dire...e lo stò dicendo!
    - Scarica i miei Software FREE

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Potevi anche aggiungere l'immagine su cui provare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da erosmax
    Come vedete, il salva sempre l'immagine rimpicciolita e non quella ingrandita.
    Aiutatemi a correeggere e, specialmente, a capire dove sbaglio!
    A mio avviso trovo inutile rimpicciolire l'immagine, modificarla, e poi ingrandirla di nuovo, perchè la qualità sarà sicuramente scadente.
    E' più conveniente e logico modificare l'immagine a dimensioni reali, visto che QUELLA è la dimensione che dovrai salvare.

    Comunque vedi tu.

    Il seguente codice fa appunto questo, l'immagine viene salvata dopo essere stata modificata nelle dimensioni reali in un terzo PictureBox, aggiungi nel form:
    1 PictureBox (Picture3) nascosto
    1 CommandButton (cmdSalva)

    Poi modifica il codice della routine File1_Click come sotto, ed aggiungi il resto del codice:

    codice:
    Private Sub File1_Click()
        Picture1.Picture = LoadPicture(Dir1 & "\" & File1)
        Call ScalaImg
        
        '// PREPARO immagine da salvare
        Picture3.Move Picture3.Left, Picture3.Top, Picture1.Width, Picture1.Height
        Picture3.AutoRedraw = True
        Call Picture3.PaintPicture(Picture1.Picture, 0, 0)
        Call Picture_Paint2(Picture3)
    End Sub
    
    Private Sub cmdSalva_Click()
        '//Salvo immagine
        posizione = Mid$(File1, 1, Len(File1) - 3) & "bmp"
        SavePicture Picture3.Image, Dir1 & "\NEW_" & posizione
    End Sub
    
    Private Sub Picture_Paint2(pic As PictureBox)
        Dim x As Integer
        Dim y As Integer
        x = Form1.buco.Left
        y = Form1.buco.Top
        pic.FillColor = vbWhite
        pic.FillStyle = 0
        pic.Circle (x + 120, y + 140), 480, vbBlack
    End Sub

  7. #7
    Utente di HTML.it L'avatar di erosmax
    Registrato dal
    Jan 2003
    Messaggi
    119
    X oregon: Va bene qualsiasi immagine
    x Gibra: infatti, era proprio quello a cui stavo pensando di fare, alla fine!
    Come detto da qualche parte, questo serve per fare un programmino (sempre gratuito) per creare da soli le schede del Sapientino (se si è notato dal efchietto).
    Alla fine, infatti, mi conviene caricare l'immagine intera e, dopo, inserire i "fori precompilati".
    Sapete se esiste un metodo per fondere due immagini della stessa grandezza in VB6 in n unica immagine?
    Grazie!
    Non ho nulla da dire...e lo stò dicendo!
    - Scarica i miei Software FREE

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.