Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB6] Dimensioni di stampa

    Ciao amici,
    non riesco a trovare il modo per acquisire con VB6 le dimensioni di stampa di una immagine. Infatti finora VB6 mi ha dato le dimensioni in tweep di una immagine. Qualcuno ha una idea?
    Grazie.
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma tu in quali unita' di misura le vuoi?

    O fai una conversione o usi ScaleMode ...

  3. #3
    Ciao oregon,
    grazie dell'intervento. Non è un problema di scale. A me non interessa la dimensione sullo schermo, ma le dimensioni di stampa dopo un cambiamento della risoluzione (pixel/pollici).
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non mi sono spiegato ...

    Come ottieni questa dimensione in tweeps? Hai una picturebox?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    117
    Ciao, potresti disegnare l'immagine sulla stampante, adattandola a qualsiasi formato:

    Sub StampaImmagine()

    Dim Larghezza As Long
    Dim Altezza As Long
    Dim FotoWidth As Long
    Dim FotoHeight As Long

    'definisco la stampante come l'immagine
    Printer.ScaleMode = vbTwips

    'voglio 12 x 10 mm.
    FotoWidth = 12
    FotoHeight = 10

    Larghezza = InteroSuperiore(567 * FotoWidth / Printer.TwipsPerPixelX, 0) * Printer.TwipsPerPixelX
    Altezza = InteroSuperiore(567 * FotoHeight / Printer.TwipsPerPixelY, 0) * Printer.TwipsPerPixelY


    'carico l'immagine in dimensione massima su un controllo Image
    Set Image1.Picture = LoadPicture()
    Set Image1.Picture = LoadPicture(App.Path & "\TEST.BMP", vbLPLarge, vbLPColor)

    'disegno l'immagine sulla stampante
    Printer.PaintPicture Image1.Picture, 100, 100, Larghezza, Altezza

    Printer.EndDoc


    End Sub




    Questo è un semplice esempo base, ma si può centrare, stampare in orizzontale, ecc.

  6. #6
    Ciao pierabo,
    la tua routine funziona perfettamente eseguendo qualche ritocco, cioè cosi:
    codice:
    Sub StampaImmagine() 
    
    Dim Larghezza As Long 
    Dim Altezza As Long 
    Dim FotoWidth As Long 
    Dim FotoHeight As Long 
    
    'definisco la stampante come l'immagine 
    Printer.ScaleMode = vbTwips 
    
    'voglio 12 x 10 mm. 
    FotoWidth = 12 
    FotoHeight = 10 
    
    Larghezza = int(567 * FotoWidth / Printer.TwipsPerPixelX) * Printer.TwipsPerPixelX 
    Altezza = int(567 * FotoHeight / Printer.TwipsPerPixelY) * Printer.TwipsPerPixelY 
    
    
    'carico l'immagine in dimensione massima su un controllo Image 
    Set Image1.Picture = LoadPicture() 
    Set Image1.Picture = LoadPicture(App.Path & "\TEST.BMP", vbLPLarge, vbLPColor) 
    
    'disegno l'immagine sulla stampante 
    Printer.PaintPicture Image1.Picture, 100, 100, Larghezza, Altezza 
    
    Printer.EndDoc 
    
    
    End Sub
    Sei sempre molto brava a trovare soluzioni che io con le mie conoscenze attuali non riuscirei a trovare.

    Ciao oregon,
    anche tu sei molto bravo e risolvi il problema di trovare le informazioni che mi necessitavano. Infatti è tuo l'intervento risolutivo nel thread http://forum.html.it/forum/showthrea...hreadid=880995 con la ruotine:
    codice:
    Dim XDPI As Integer 
    Dim YDPI As Integer 
    Open "File.jpg" For Binary As #1 
    Seek #1, 16 
    Get #1, , XDPI 
    Get #1, , YDPI 
    Close #1 
    Debug.Print "Ris. Orizz. " & XDPI; " dpi" 
    Debug.Print "Ris. Vert. " & YDPI; " dpi"
    Conoscendo la risoluzione basta dividere una dimensione in pixel per la risoluzione in pixel/pollici e moltiplicare per 2,54 e si trova la relativa dimensione di stampa.
    Come ultima cosa vorrei chiedervi se riducendo le dimensioni dell'immagine col metodo Paintpicture si perdono informazioni in termini di pixels.
    Non credo che con questo mio post vi ho spiegato tutto sulle mie finalità. Potremo sempre rivederci qui.Però mi premeva ringraziarvi subito. Adesso devo andare a prenzo eheh.
    Grazie e tutti e due!
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

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.