Impression d'une image

Résolu
EaglesEyes Messages postés 33 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 février 2008 - 12 juil. 2006 à 11:50
EaglesEyes Messages postés 33 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 février 2008 - 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

3 réponses

MNEMONIC Messages postés 59 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 1 septembre 2006
12 juil. 2006 à 17:04
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...
3
EaglesEyes Messages postés 33 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 février 2008
13 juil. 2006 à 08:57
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
3
EaglesEyes Messages postés 33 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 février 2008
13 juil. 2006 à 07:54
okok merci je teste ça aujourd'hui

Eagles Eyes
0
Rejoignez-nous