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

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Impression d'une image avec VC++


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

Impression d'une image avec VC++

jeudi 29 juin 2006 à 16:01:59 | Impression d'une image avec VC++

phantom_2005


Bonjour à tous,

je cherche à imprimer une image.
J'ai essayé quelque chose mais ca ne fonctionne pas!

Si quelqu'un a une idée?

Voici mon code :

//....................................................................................................................................
   dcPrint.StartPage(); // Page 1
   
   CPoint coord;
   CSize Size;
   coord.x = Colone1;
   coord.y = 150;
   Size.cx = 32;
   Size.cy = 32;
   
   CBrush Brush;
   Brush.CreateSolidBrush(RGB(64,64,64));
   CBitmap image;
   if (image.LoadBitmap("C:\\zt\\Projets\\SdCardTool\\view\\France.bmp")  == 0)
    AfxMessageBox("");

   CPen Pen1;
   Pen1.CreatePen(PS_SOLID,5,RGB(64,64,64));
   dcPrint.SelectObject(Pen1);

   dcPrint.DrawState(coord,Size,&image,DSS_NORMAL,&Brush);
   
//....................................................................................................................................

Merci d'avance

--------------------------------------------------------------------------------
Phantom_2005

jeudi 29 juin 2006 à 16:27:25 | Re : Impression d'une image avec VC++

vecchio56

Administrateur CodeS-SourceS
IMPRIMEUR D'IMAGES BMP (API)

_____________________________________
Un éditeur de ressources gratuit pour Windows

vendredi 30 juin 2006 à 10:00:23 | Re : Impression d'une image avec VC++

phantom_2005

Réponse acceptée !

J'ai trouvé une solution plus simple!

/************************************************/
void PrintBitmap(LPCTSTR filename) {
 CPrintDialog printDlg(FALSE);
 printDlg.GetDefaults();
 // Or get from user:
 // if (printDlg.DoModal() == IDCANCEL)  
 //        return;
 CDC dc;
 if (!dc.Attach(printDlg.GetPrinterDC())) {
  AfxMessageBox(_T("No printer found!")); return;
 }
 
 dc.m_bPrinting = TRUE;
 DOCINFO di;   
 // Initialise print document details
 ::ZeroMemory (&di, sizeof (DOCINFO));
 di.cbSize = sizeof (DOCINFO);
 di.lpszDocName = filename;
 BOOL bPrintingOK = dc.StartDoc(&di); // Begin a new print job
 // Get the printing extents
 // and store in the m_rectDraw field of a
 // CPrintInfo object
 CPrintInfo Info;
 Info.SetMaxPage(1); // just one page
 int maxw = dc.GetDeviceCaps(HORZRES);
 int maxh = dc.GetDeviceCaps(VERTRES);
 Info.m_rectDraw.SetRect(0, 0, maxw, maxh);
 for (UINT page = Info.GetMinPage(); page <=
      Info.GetMaxPage() && bPrintingOK; page++) {
  dc.StartPage();    // begin new page
  Info.m_nCurPage = page;
  CBitmap bitmap;
  // LoadImage does the trick here, it creates a DIB section
  // You can also use a resource here
  // by using MAKEINTRESOURCE() ... etc.
  if(!bitmap.Attach(::LoadImage(
   ::GetModuleHandle(NULL), filename, IMAGE_BITMAP, 0, 0,
   LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE))) {
    AfxMessageBox(_T("Error loading bitmap!")); return;
   }
   BITMAP bm;
   bitmap.GetBitmap(&bm);
   int w = bm.bmWidth;
   int h = bm.bmHeight;
   // create memory device context
   CDC memDC;
   memDC.CreateCompatibleDC(&dc);
   CBitmap *pBmp = memDC.SelectObject(&bitmap);
   memDC.SetMapMode(dc.GetMapMode());
   dc.SetStretchBltMode(HALFTONE);
   // now stretchblt to maximum width on page
   dc.StretchBlt(0, 0, maxw, maxh, &memDC, 0, 0, w, h, SRCCOPY);
   // clean up
   memDC.SelectObject(pBmp);
   bPrintingOK = (dc.EndPage() > 0);   // end page
 }
 if (bPrintingOK)
   dc.EndDoc(); // end a print job
 else dc.AbortDoc();           // abort job.
}

/**************************************************/

Merci pour ta réponse vecchio56

@+

--------------------------------------------------------------------------------
Phantom_2005



Cette discussion est classée dans : image, size, coord, brush, dcprint


Répondre à ce message

Sujets en rapport avec ce message

Mettre une image dans un StringGrid [ par blue71 ] Blue71Blue71Blue71Hello tout le monde, j'aurai une question j'aimerai mettre une image dans un stringGrid, car je crée un jeu et j aimerai bien mettre Pièces de tangram [ par Tibo67 ] [i][b][size=200]Bonjour à tous. Pour l'examen de BTS IRIS, je dois réaliser un robot qui construit un tangram. En faite, je dois récupéré avec une cam Traitement de Fichiers textes en C/C++ [ par devc26 ] Bonjour, Je dois réaliser une "moulinette" en C/C++ permettant de modifier l'affichage de résultats en format texte ( contexte: Visual Studio 2003).C transformation d'une image en matrice sous jBuilder [ par crashed ] Bonsoir, j'ai chargé une icone a l'aide d'un jFileChooser sous jbuilder9, par la suite, je l'ai affiché dans un jLabel (par la méthode setIcon()), le génération d'un filtre median en C [ par marouene2706 ] bon comme le titre l'indique, j'ai rencontré un petit probleme lors de la programmation d'un filtre median en C (image 400*300) j'aimerai avoir de l'a [BAR]Anniversaire [ par freelander2 ] [color=blue][size=200]Bonjour.[^^clinoeil1] Je remercie le groupe admins de codes sources pour leur gentille carte. Encore merci. Picasso1er[^^happy10 charger un fichier image en c [ par mamaAMNA ] [^^sad1][^^sad1][^^sad1] salut svp aider moi [^^sad2] je veux une solution pour lire une image en c j'ai essayé fopen mais ça marche pas svp c urgent Enregistrer une image dans un fichier [ par Flaken ] Bonjour, Voilà mon problème : j'ai une IHM, que j'ai créer en c++ où elle affiche les images de la webcam. Dans cette IHM j'ai crée une petit fenêtre Problème SDL : Récupérer la position d'une case d'un tableau (image) ? [ par romain60112 ] SDL : Récupérer la position d'une case d'un tableau (image) ? Bonjours a tous, Je souhaite savoir comment récupérer de façon efficace les coordonnées Erreur à la lecture [ par deadbird ] hello ;) J'ai ici une fonction qui ouvre un fichier WAV, et le fread ne fonctionne pas, impossible de comprendre pourquoi...quelqu'un a une idée? [cod


Nos sponsors


Sondage...

Comparez les prix

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,203 sec (4)

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