Impression d'une image [Résolu]

EaglesEyes 33 Messages postés vendredi 23 avril 2004Date d'inscription 27 février 2008 Dernière intervention - 12 juil. 2006 à 11:50 - Dernière réponse : EaglesEyes 33 Messages postés vendredi 23 avril 2004Date d'inscription 27 février 2008 Dernière intervention
- 13 juil. 2006 à 08:57
Je fait un programme qui desine dans un objet TImage et je souhaiterais imprimer son contenu mais je me retrouve avec un dessin minuscule sur le papier par rapport à celui présent à l'écran... Ma fonction est la suivante:

void __fastcall TForm1::imprimeClick(TObject *Sender)
{
    TPrinter *imprim = Printer();

    if(DebutImprime->Execute())
    {
        imprim->BeginDoc();
            imprim->Canvas->CopyRect( TRect(0,0,Image1->Width, Image1->Height), Image1->Canvas,         TRect(0,0,Image1->Width, Image1->Height));

        imprim->EndDoc();
    }
}

DebutImprime est un TPrintDialog et Image1 mon objet TImage.

Comment pourrais-je faire pour avoir une image imprimée à peu près de la même taille que celle à l'écran ou alors comment faire pour avoir une image de taille voulu (par exemple on rentre la taille de l'image en cm et elle sort à l'impression à la taille désirée sans tenir compte de la taille à l'écran) ??

Merci d'avance

Eagles Eyes
Afficher la suite 

3 réponses

Répondre au sujet
MNEMONIC 59 Messages postés dimanche 19 décembre 2004Date d'inscription 1 septembre 2006 Dernière intervention - 12 juil. 2006 à 17:04
+3
Utile
Image1->Width et Image1->Height sont en pixels...
En fonction de la résolution d'impression, tu convertis à la dimension voulue...

Si je me souviens bien, ça doit tourner autours de 96 pixels par pouce par défaut...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de MNEMONIC
EaglesEyes 33 Messages postés vendredi 23 avril 2004Date d'inscription 27 février 2008 Dernière intervention - 13 juil. 2006 à 08:57
+3
Utile
Voila la fonction pour imprimer

void __fastcall TForm1::imprimeClick(TObject *Sender)
{
    TPrinter *imprim = Printer();

    if(DebutImprime->Execute())
    {
        imprim->BeginDoc();

        imprim->Canvas->CopyRect( TRect(0,0,Image1->Width * 6, Image1->Height * 6), Image1->Canvas, TRect(0,0,Image1->Width, Image1->Height));

        imprim->EndDoc();
    }
}

elle n'est pas encore parfaite car il reste une petite différence entre la taille à l'écran et la taille imprimée... mais elle permet d'avoir une base de départ pour l'impression d'image

Eagles Eyes
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de EaglesEyes
EaglesEyes 33 Messages postés vendredi 23 avril 2004Date d'inscription 27 février 2008 Dernière intervention - 13 juil. 2006 à 07:54
0
Utile
okok merci je teste ça aujourd'hui

Eagles Eyes
Commenter la réponse de EaglesEyes

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.