begin process at 2012 05 29 06:50:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Impression bitmap + texte (c++ builder 5)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Impression bitmap + texte (c++ builder 5)

mardi 22 septembre 2009 à 15:30:07 | Impression bitmap + texte (c++ builder 5)

bfespi69

Bonjour à tous,

Je cherche à réaliser une impression particulière avec C++Builder 5.

Je dois sur la feuille A4 qui sort de l'imprimante imprimer quelques infos texte dans la zone la plus en haut de la feuille, une image bitmap au centre ( qui prendra le + de place ) et peut être quelques infos texte en bas de la page.

J'ai parcouru plusieurs tutoriels mais sans vraiment tout à fait arriver à mes fins.

Mon problème est l'insertion du bitmap à la bonne taille et de facon complète. Donc évitons de parler de l'impression du texte, mon problème est ailleurs.

Dans mon code j'ai tenté d'utiliser plusieurs méthodes sur le Canvas de l'imprimante.

Ma 1ère solution :
{

Graphics::TBitmap* Bitmap = new Graphics::TBitmap();

Bitmap->LoadFromFile("C:\\TestCCQ.bmp");

Printer()->Orientation = poLandscape;

Printer()->BeginDoc();

Printer()->Canvas->CopyRect(Printer()->Canvas->ClipRect,Bitmap->Canvas,Bitmap->Canvas->ClipRect);

Printer()->EndDoc();

}

Ce code lance une impression de mon Bitmap en paysage sur tout la partie imprimable de la feuille.

Mon bitmap est donc étiré si la partie imprimable sur l'imprimante est supérieure au bitmap.

Mon bitmap est donc rétréci si la partie impribale sur l'imprimante est inférieure au bitmap.

Cette solution ne me convient pas car je veux pouvoir imprimer du texte sur la feuille en dessus et en dessous de limage.

Ma 2ème solution :

{

Graphics::TBitmap* Bitmap = new Graphics::TBitmap();

Bitmap->LoadFromFile("C:\\TestCCQ.bmp");

Printer()->Orientation = poLandscape;

Printer()->BeginDoc();

Printer()->Canvas->Draw(0,0,Bitmap);;

Printer()->EndDoc();

}

Ce code lance une impression de mon Bitmap en paysage sur une toute petite partie imprimable de la feuille.

Mon Bitmap est imprimé en entier mais l'image sur la feuille est réduite.

Sur les 21cm x 29.7cm de la feuille A4, mon image prend environ 4cm x 6cm

Cette solution me convient un peu mieux mais l'image est encore trop petite.

A ce niveau la il ya peut etre quelque chose à faire pour augmenter la taille ou déplacer l'image mais je n'ai pas réussi.

Les zéros en parametre de la fonction Draw sont les coordonées de depart de l'impression de mon bitmap.

(0,0) imprimera tout en haut a gauche , sur les bords de la feuille.

(100,100) imprimera à partir de 100 pixels du bord haut et 100 pixels du bord gauche.


J'ai ensuite essayé d'utiliser cette méthode pour redimensionner le canvas :

{

Bitmap->Canvas->StretchDraw(Printer()->Canvas->ClipRect, Bitmap);

}

Mais en fonction de la position de l'appel à cette méthode dans le code :

la zone imprimable de la feuille est réduite sans que l'image le soit;

ou la zone imprimable de la feuille est au maximum mais le bitmap est aussi etiré de la meme facon aux mêmes proportions donc incomplet.



Voilà je fais appel au savoir de tous ceux qui liront ce message.

Pour récapituler, mon problème est que je suis incapable de dimensionner la taille et la position du mon Bitmap sur le canvas de l'imprimante.

Si quelqu'un sait comment imprimer à sa guise un bitmap redimensionné et positionné sur la feuille A4, en ayant placé au dessus et en dessous de l'image du texte personnalisé , vous m'aideriez beaucoup.

Merci d'avance .









samedi 26 septembre 2009 à 18:41:21 | Re : Impression bitmap + texte (c++ builder 5)

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

StretchDraw prend en premier paramètre un rectangle. N'utilises pas le ClipRect du canvas, mais plutôt ton propre rectangle.

dimanche 27 septembre 2009 à 14:54:49 | Re : Impression bitmap + texte (c++ builder 5)

racpp

Administrateur CodeS-SourceS

Salut,
Je t'invite à t'inspirer de mon code source, en Win32, sur l'impression des images bitmap en espérant qu'il te sera utile:
IMPRIMEUR-IMAGES-BMP



Cette discussion est classée dans : impression, feuille, printer, bitmap, canvas


Répondre à ce message

Sujets en rapport avec ce message

Format d'impression [ par SaXo360 ] Salut,Je suis sous C++ Builder 5.J'appuye sur un bouton qui me lance l'impression de ma grille.Le probleme est que lorsque je regarde ma feuille qui v une tentative artistique, des problèmes codés... [ par merluboru ] Bonjour à tous, Cela fait un moment que je suis inscrit sur ce merveilleux et étrange site. En effet la plupart des messages ou codes déposé ici sont Gestion de processus [ par larbi84 ] Bonjour, Mon programme Linux est le suivant : GESTION D'UN CENTRE D'IMPRESSION. En premier lieu, il faut créer un processus père qui à sont tour do Impression d'un pixel avec borland 6 [ par geag17 ] J'arrive à imprimer un texte en définnissant le canevas de ma feuille mais je voudrait dessiner des éléments de la taille d'un pixel.En clair y a t'il impression d'un carre sur une feuille [ par tracks62 ] bonjour, je suis entrain de tester l'impression en c++ et j'ai un petit probleme car j'arrive a imprimer un carré avec la taille que je souhaite mais PB d'impression [ par p.rozet ] Bonjour,j'ai réalisé un prog avec borland C++Builder 5 qui fait des impressions qui portent parfois sur plusieurs pages. Hors avec certaines imprimant Redimensionnement image Borland C++ [ par jfouquet ] Bonjour, Je travaille actuellement sous Borland C++ 5. Je suis amené à afficher une image (jpeg,bmp,ico…) dans un TImage bon ça pas de problème. Ma Impression d'un TStringGrid [ par eagleseyes ] SalutJe cherche à imprimer un TStringGrid mais il me l'imprime à la taille de l'écran (tout petit sur un feuille A4) et tout le tableau d'un coup, du image enregistrer le canvas + bitmap [ par athomas ] bonjour, Je vous expose mon problème : J'ai un composant TPicture (une picture box toute simple). Je charge une image dans le bitmapEnsuite, je mets d convertion bitmap 24 bits en niveau de gris [ par alicetin ] Bonjour, je dois faire un programme de reconnaissance de forme et pour cela je doit manipuler des images bitmap (niveau de gris, monochrome etc ...).M


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales