Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    45

    [VB6] Grafici e Pdf

    Ciao tutti, scrivo per la prima volta in questa sezione del forum e da poco tempo mi sono avvicinato al vb6 Stu cercando di creare un programmino che mi generi dei grafici e poi il tutto deve venire archiviato in pdf. Ho già creato i grafici e parte del pdf con una classe "clsPDFCreator" che ho trovato spulciando qua e la sul web...adesso ho difficoltà a capire come fare ad integrare i miei grafici nel pdf e come fare a far apparire su ogni colonna dei miei grafici il valore della variabile. Qualcuno mi può dare una mano?

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Se usi pdfCreator, negli esempi trovi che le bitmap delle immagini sono caricate da files.
    Quindi potresti creare i grafici, salvarli in modo temporaneo e caricarli nel pdf.

    Per i valori ti conviene scriverli nel grafico. Caricando quest'ultimo li avrai 'gratis'.
    Ciao, Brainjar

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    45
    Originariamente inviato da Brainjar
    Se usi pdfCreator, negli esempi trovi che le bitmap delle immagini sono caricate da files.
    Quindi potresti creare i grafici, salvarli in modo temporaneo e caricarli nel pdf.

    Per i valori ti conviene scriverli nel grafico. Caricando quest'ultimo li avrai 'gratis'.
    Ciao, grazie per la risposta. Ho provato a fare così ma ho un errore di buffer, credo, quando vado a generare il pdf...le immagini sono 180x230 pixel...se provo con una immagine più piccola non ho problemi...

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Non credo che sia la grandezza dell'immagine a darti il problema.
    A meno che tu non ne inserisca un numero elevato.
    In un mio applicativo carico un'immagine 714 X 500 e non ho problemi.
    Ma, in effetti, ho solo quella.

    Potrebbe essere che salvi le immagini sul disco e subito dopo le carichi nel pdf.
    Alcune immagini non sono state 'fisicamente' salvate e quindi non le trovi
    nell'istante in cui vorresti 'leggerle' per caricarle.
    Prova a salvarle, scrivere tutto il resto nel pdf e come ultima operazione caricare
    le immagini. Almeno sei sicuro che esistono 'fisicamente' nel path temporaneo.
    Ciao, Brainjar

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    45
    Originariamente inviato da Brainjar
    Non credo che sia la grandezza dell'immagine a darti il problema.
    A meno che tu non ne inserisca un numero elevato.
    In un mio applicativo carico un'immagine 714 X 500 e non ho problemi.
    Ma, in effetti, ho solo quella.

    Potrebbe essere che salvi le immagini sul disco e subito dopo le carichi nel pdf.
    Alcune immagini non sono state 'fisicamente' salvate e quindi non le trovi
    nell'istante in cui vorresti 'leggerle' per caricarle.
    Prova a salvarle, scrivere tutto il resto nel pdf e come ultima operazione caricare
    le immagini. Almeno sei sicuro che esistono 'fisicamente' nel path temporaneo.
    Sai credo che non sia quello il problema visto che ho provato a far caricare immagini salvate, quindi senza aspettare che l'immagine venga salvata, e avevo cmq questo problema...

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Posta il codice che ti da problemi.
    Ciao, Brainjar

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    45
    Originariamente inviato da Brainjar
    Posta il codice che ti da problemi.

    Public Function LeggeBMP(FileName As String, ByRef ImgBuf() As Byte, ByRef ImgColor As String) As Boolean

    Dim C As Long
    Dim fb As Integer
    Dim BMPH As BITMAPFILEHEADER_Type
    Dim BMPI As BITMAPINFO_Type
    Dim XBMP As Long
    Dim BPP As Byte
    Dim i As Long
    Dim kk As Long
    Dim blnFlag As Boolean
    Dim tempBuf() As Byte

    fb = FreeFile
    Open FileName For Binary As #fb
    '
    Get #fb, , BMPH
    Get #fb, , BMPI.BMPH
    '

    If BMPH.bfType = "BM" Then

    BPP = BMPI.BMPH.biBitCount

    ImgColor = ""
    If BPP <= 8 Then
    For C = 0 To (2 ^ BPP) - 1
    Get #fb, , BMPI.BMPC(C)
    ImgColor = ImgColor & Chr(BMPI.BMPC(C).Red) & Chr(BMPI.BMPC(C).Green) & Chr(BMPI.BMPC(C).Blue)
    Next C
    End If

    XBMP = ((BMPI.BMPH.biWidth * BPP / 8) + 3&) And &HFFFFFFFC ' [Bytes].
    ReDim ImgBuf(0 To 4 + BMPI.BMPH.biHeight * XBMP)

    ' Carica nel vettore le informazioni dell'immagine
    ImgBuf(0) = BMPI.BMPH.biWidth / 256
    ImgBuf(1) = BMPI.BMPH.biWidth Mod 256
    ImgBuf(2) = BMPI.BMPH.biHeight / 256
    ImgBuf(3) = BMPI.BMPH.biHeight Mod 256
    ImgBuf(4) = BMPI.BMPH.biBitCount

    ReDim tempBuf(1 To BMPI.BMPH.biHeight * XBMP)

    Get #fb, BMPH.bfOffBits + 1, tempBuf()

    If BPP > 8 Then
    For C = 1 To UBound(tempBuf) Step 3
    'ImgBuf(C + 4) = tempBuf(C + 2)
    ' ImgBuf(C + 5) = tempBuf(C + 1)
    ' ImgBuf(C + 6) = tempBuf(C)

    ImgBuf(C + 4) = tempBuf(C + 2)
    ImgBuf(C + 5) = tempBuf(C + 1)
    ImgBuf(C + 6) = tempBuf(C)
    Next

    ElseIf BPP <= 8 Then
    blnFlag = (BMPI.BMPH.biWidth Mod 16) <> 0
    kk = 1
    For i = 1 To UBound(tempBuf)
    ImgBuf(4 + kk) = tempBuf(i)

    If BPP <> 8 Then
    If (kk Mod Int((BMPI.BMPH.biWidth + (8 / BPP) - 1) / (8 / BPP))) = 0 And blnFlag Then
    i = i + (XBMP - (i Mod XBMP))
    End If
    End If
    kk = kk + 1
    Next

    End If
    LeggeBMP = True
    Else
    LeggeBMP = False
    End If

    Close #fb

    il problema dovrebbe essere qui, il programma "crasha" e mi da un errore runtime 9...

  8. #8
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    1) Usa i tag "
    codice:
    " e "
    " per inserire il codice, altrimenti risulta illeggibile.
    2) Indica su quale riga di codice hai l'errore.
    Ciao, Brainjar

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    45
    Originariamente inviato da Brainjar
    1) Usa i tag "
    codice:
    " e "
    " per inserire il codice, altrimenti risulta illeggibile.
    2) Indica su quale riga di codice hai l'errore.
    ciao, l'errore me lo da qua:

    ImgBuf(C + 4) = tempBuf(C + 2)

  10. #10
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Scusa ma a che serve sta funzione 'kilometrica' di lettura bmp quando nel pdf per
    caricare una immagine basta fare, utilizzando clsPDFCreator :

    codice:
      Dim clPDF As New clsPDFCreator
    
      With clPDF
        .......
        .LoadImgFromBMPFile "Img1", App.Path & "\NomeImmagine.bmp" 
        .......
        .DrawImg "Img1", 7, 4, 6, 4  ' x, y,  xDim, yDim  dell'immagine
        ......
      End With
    Ciao, Brainjar

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.