Article View: microsoft.public.fr.vc
Article #5Afficher un metafile dans un bitmap en utilisant Bitblt()
From: Severine Ramadour
Date: Fri, 26 Jun 1998 00:00
Date: Fri, 26 Jun 1998 00:00
50 lines
2659 bytes
2659 bytes
Je voudrais afficher un metafile dans une r�gion de clipping en utilisant
les MFC. Mais il y a un probl�me lorsque l'on utilise la fonction
PlayEnhMetaFile en m�me temps qu'une r�gion de clipping (la fonction cr�e sa
propre r�gion de clipping et est ensuite incapable de la lib�rer ce qui
finit par remplir la m�moire).
Pour contourner ce probl�me, il indiqu� dans l'aide de Microsoft qu'il faut
jouer le metafile (sans region de clipping) dans une bitmap et ensuite
afficher la bitmap � l'�cran en utilisant Bitblt().
J'ai essay� de suivre ces conseils, mais malgr� mes deux tentatives, rien ne
s'affiche � l'�cran et il faut pourtant absolument que j'utilise une r�gion
de clipping !!
Voil� les deux morceaux de codes que j'ai utilis� pour essayer d'afficher :
void CMetabmpView::OnDraw(CDC* pDC)
{
CRect rect;
pDC -> GetClipBox(&rect);
HENHMETAFILE emf;
CDC memDC;
memDC.CreateCompatibleDC(pDC);
emf = GetEnhMetaFile("c:\\temp\\picture.emf");
memDC.PlayMetaFile(emf,&rect);
pDC -> BitBlt(rect.left, rect.top, rect.right - rect.left,
rect.bottom - rect.top, &memDC, rect.left, rect.top,
SRCCOPY);
}
void CMetabmpView::OnDraw(CDC* pDC)
{
CRect rect;
pDC -> GetClipBox(&rect);
HENHMETAFILE emf;
CMetaFileDC metaDC;
metaDC.CreateEnhanced(pDC,NULL,&rect,NULL);
emf = GetEnhMetaFile("c:\\temp\\image.emf");
metaDC.PlayMetaFile(emf,&rect);
pDC -> BitBlt(rect.left, rect.top, rect.right - rect.left,
rect.bottom - rect.top, &metaDC, rect.left, rect.top,
SRCCOPY);
metaDC.CloseEnhanced();
}
Je ne vois pas trop ce que je pourrais faire d'autre, peut-�tre ais-je
oubli� une instruction... Je ne sais pas, mais si quelqu'un a une id�e qui
pourrait me mettre sur la voie, cela m'aiderait beaucoup.
Merci d'avance � ceux qui r�pondront !!!
S�verine Ramadour
Technical Details
Message-ID:
<6n096b$o7i$1@platane.wanadoo.fr>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: fdcad,2cd84b6df9e0b7fb,start X-Google-Attributes: gidfdcad,public X-Google-Thread: f5082,2cd84b6df9e0b7fb,start X-Google-Attributes: gidf5082,public From: "Severine Ramadour" <severine.ramadour@insa-lyon.fr> Subject: Afficher un metafile dans un bitmap en utilisant Bitblt() Date: 1998/06/26 Message-ID: <6n096b$o7i$1@platane.wanadoo.fr> X-Deja-AN: 366302915 Followup-To: microsoft.public.fr.vc X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Organization: Wanadoo - (Client of French Internet Provider) Newsgroups: microsoft.public.fr.vc,fr.comp.lang.c++