Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Kolgate
    Guest

    [Delphi] Stampare una form

    Salve a tutti!

    Ho urgente bisogno di stampare una form di una applicazione senza usare i quick report. Dopo vari tentativi e grazie a un "mosaico" di esempi vari trovati in rete riesco a stampare la pagina-form, ma non in maniera soddisfacente... in parole povere ottengo una bitmap della form e la mando in stampa. Mi piacerebbe fosse possibiile adattarla all'a4 senza stretch... Vi prego, aiutatemi!!

    Grazie fin d'ora!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Per stampare un form così come lo vedi sul monitor, utilizza il metodo Print. Puoi intervenire sulle modalità di stampa agendo sulla proprietà PrintScale, forzando ad esempio il mantenimento delle proporzioni, lo stretching su tutto il foglio, ecc.
    Consulta la Guida in linea di Delphi per avere informazioni più dettagliate.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Kolgate
    Guest
    ti rigrazio del consiglio, purtroppo pero' ho gia' usato print, ma il problema rimane...
    in parole povere, settando Form1.PrintScale := poPrintToFit;
    mi regola si le dimensioni della form al foglio della stampante, ma a scapito della qualita' delle immagini e dei font in essa contenuti, che vengovo visualizzati molto "pixelati",non so se mi spiego.

    escludendo i Qickreport (non posso gestire il drag&drop di oggetti su un quickreport) c'e' un sistema per migliorare la qualita' dell'immagine prodotta?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Temo di no. Quello che tu chiedi è un ridimensionamento della form che includa anche un algoritmo di interpolazione. L'unica alternativa che potresti avere è di scaricare qualche componente in grado di ingrandire un'immagine sorgente interpolando i punti (in parole povere, diminuendo l'effeto "pixelato" mescolando i colori nella generazione dei punti intermedi). A questo punto, potresti lasciare la proprietà PrintScale impostata su None, acquisire l'immagine del form "al naturale" e passarla al componente per il ridimensionamento e la conseguente stampa.
    Prova a cercare sul sito Torry Delphi's Pages...magari puoi trovare qualcosa che faccia al caso tuo.
    Una seconda alternativa potrebbe essere quella di sfruttare particolari funzionalità del driver della stampante: si tratterebbe di inviare alla stampante l'immagine del form a grandezza normale e ridimensionarlo attraverso le opzioni disponibili nelle Preferenze della stampante, anche se mi sembra un procedimento laborioso e forse inefficace.

    Spero di esserti stato comunque d'aiuto.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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