Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 26 su 26
  1. #21
    VB6 non supporta in maniera nativa il salvataggio di immagini in formato diverso dalla bitmap. Se tu avessi letto il mio messaggio invece di insultarmi avresti visto che ti ho inserito un link ad una pagina che spiega come salvare un oggetto Picture come jpeg:
    Originariamente inviato da MItaly
    [...]ti ha dato delle indicazioni di massima per una ricerca, che se tu avessi seguito saresti già giunto alla soluzione (prova ad inserire in google "save vb jpeg": il primo risultato è questo, esattamente quello che ti serve).[...]
    Ma, come ho già detto
    Originariamente inviato da MItaly
    [...]attento a quello che fai con il codice dell'articolo che ti ho indicato: un pasticcio da autodidatta con il malloc o con i puntatori e la tua applicazione va in crash (magari con un bel GPF, che non ci sta mai male).
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #22
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao Magicolotto,
    credo che il tuo problema si possa risolvere anche tenendo il formato bmp:
    Metti sulla Form un controllo PictureBox dal Nome PicDest che, dopo aver controllato l'effetto, in fase d'esecuzione puoi anche settare su Visible = False:
    codice:
    Private Sub Command2_Click()
        
        Dim picTmp As PictureBox
            
        Set picTmp = Me.Controls.Add("VB.PictureBox", "tmp")
        picTmp.Width = 9135
        picTmp.Height = 4935
        picTmp.Picture = LoadPicture(App.Path & "\API7.bmp")
    
        PicDest.AutoSize = True
        PicDest.AutoRedraw = True
        
        ' Riduce del 50% la dimensione dell'immagine:
        PicDest.PaintPicture picTmp.Picture, 0, 0, picTmp.ScaleWidth * 0.5, picTmp.ScaleHeight * 0.5
        
        PicDest.Refresh
        SavePicture PicDest.Image, App.Path & "\API8.bmp"
        
        Me.Controls.Remove ("tmp")
        Set picTmp = Nothing
    
    End Sub
    LM

  3. #23
    Credo che quanto alla dimensione abbia già risolto: da quanto si deduce dai suoi post l'obiettivo era salvare uno screenshot del programma, ma inizialmente riusciva solamente a salvare lo screenshot dell'intero schermo invece che della sola finestra:
    ho dei problemi l'immaggine che salva a queste dimensioni
    1024x768 direi la classica risoluzione dello schermo
    mentre dovrebbero essere :
    460x400 queste invece potrebbero essere le dimensioni della sua finestra
    .
    Poi invece è riuscito a risolvere catturando la sola schermata del programma, usando la funzione CaptureClient() (probabilmente presa da qui):
    codice:
    Set Picture1.Picture = CaptureClient(Me)
    .
    Di conseguenza catturando solamente 460x400 pixel la dimensione dell'immagine sarà scesa a 460x400x3=539,06 KB, la dimensione da lui auspicata:
    mentre dovrei portarla a maxx 500kb
    .
    Poi se si riesce a salvarla in jpeg credo che sia un di più.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #24
    Tra parentesi, il massimo delle sporche sarebbe creare una libreria di classi .NET COM-compatible che consenta ad un'applicazione VB6 di utilizzare (ovviamente attraverso un wrapper) la splendida classe System.Drawing.Image, che espone un ottimo metodo "Save"; in questo overload addirittura permette di scegliere il formato, tra i quali c'è anche il jpeg.
    codice:
    Overloads Public Sub Save( _
       ByVal filename As String, _
       ByVal format As ImageFormat _
    )
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #25
    hai esposto molto bene la mia prassi per arrivarci

    adesso il peso dell'image e di 451kb quindi rientra benissimo....

    cmq per l'ultima cosa che hai detto non credo di saperla fare da solo

    cmq sia un grazie tanto a tutti
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  6. #26
    cmq per l'ultima cosa che hai detto non credo di saperla fare da solo
    In ogni caso ti sconsiglio di farla, perché come ho già detto si tratta di una soluzione a mio parere supersporca. Nel caso poi decidessi di implementare il salvataggio in jpeg ti consiglio di seguire il link che ti ho indicato prima.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.