j'arrive bien a creer un device context en memoire,
lui affecter un bitmapfromfile,
et dessiner par dessus...
par contre je ne parviens pas à creer un device context en memoire,
creer un bitmap vierge ( createcompatiblebitmap )
l'associer au HDCmem, et dessiner dessus...
j'obtiens un dessin noir&blanc superposé à des motif aleatoires (je suppose
que c'est une non-initialisation du bitmap)...
j'ai pas mal googlisé et je ne trouve pas...comment faire ?
(je précise que je regarde ce que j'obtiens sur le HDCmem
en le blittant sur le HDC client au final)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Remi Thomas
"Stephane Legras-Decussy" écrivit
bonjour,
j'arrive bien a creer un device context en memoire, lui affecter un bitmapfromfile, et dessiner par dessus...
par contre je ne parviens pas à creer un device context en memoire, creer un bitmap vierge ( createcompatiblebitmap ) l'associer au HDCmem, et dessiner dessus...
j'obtiens un dessin noir&blanc superposé à des motif aleatoires (je suppose que c'est une non-initialisation du bitmap)...
j'ai pas mal googlisé et je ne trouve pas...comment faire ?
Bonjour,
Voici un exemple en MFC. En Win32 il faut ajouter la destruction des objets crées
void CQuery::OnDraw(CDC* pDC) { CSize size = GetTotalSize(); CBitmap bitmap; CDC memDC; memDC.CreateCompatibleDC(pDC); // Creation du Memory DC bitmap.CreateCompatibleBitmap(pDC, size.cx, size.cy); // Creation du bitmap CBitmap* oldBitmap = memDC.SelectObject(&bitmap);
memDC.SelectObject(GetStockObject(BLACK_PEN)); memDC.SelectObject(GetStockObject(WHITE_BRUSH)); memDC.Rectangle(0, 0, size.cx, size.cy); // Effacer le bitmap
pDC->BitBlt(0, 0, size.cx, size.cy, &memDC, 0, 0, SRCCOPY); // Copier le bitmap sur l'écran memDC.SelectObject(oldBitmap); }
Rémi
-- Rémi Thomas - MVP Visual Studio .NET Développeur Windows indépendant http://www.xtware.com/cv
"Stephane Legras-Decussy" écrivit
bonjour,
j'arrive bien a creer un device context en memoire,
lui affecter un bitmapfromfile,
et dessiner par dessus...
par contre je ne parviens pas à creer un device context en memoire,
creer un bitmap vierge ( createcompatiblebitmap )
l'associer au HDCmem, et dessiner dessus...
j'obtiens un dessin noir&blanc superposé à des motif aleatoires (je
suppose
que c'est une non-initialisation du bitmap)...
j'ai pas mal googlisé et je ne trouve pas...comment faire ?
Bonjour,
Voici un exemple en MFC.
En Win32 il faut ajouter la destruction des objets crées
void CQuery::OnDraw(CDC* pDC)
{
CSize size = GetTotalSize();
CBitmap bitmap;
CDC memDC;
memDC.CreateCompatibleDC(pDC); // Creation du Memory DC
bitmap.CreateCompatibleBitmap(pDC, size.cx, size.cy); // Creation du bitmap
CBitmap* oldBitmap = memDC.SelectObject(&bitmap);
memDC.SelectObject(GetStockObject(BLACK_PEN));
memDC.SelectObject(GetStockObject(WHITE_BRUSH));
memDC.Rectangle(0, 0, size.cx, size.cy); // Effacer le bitmap
pDC->BitBlt(0, 0, size.cx, size.cy, &memDC, 0, 0, SRCCOPY); // Copier le
bitmap sur l'écran
memDC.SelectObject(oldBitmap);
}
Rémi
--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv
j'arrive bien a creer un device context en memoire, lui affecter un bitmapfromfile, et dessiner par dessus...
par contre je ne parviens pas à creer un device context en memoire, creer un bitmap vierge ( createcompatiblebitmap ) l'associer au HDCmem, et dessiner dessus...
j'obtiens un dessin noir&blanc superposé à des motif aleatoires (je suppose que c'est une non-initialisation du bitmap)...
j'ai pas mal googlisé et je ne trouve pas...comment faire ?
Bonjour,
Voici un exemple en MFC. En Win32 il faut ajouter la destruction des objets crées
void CQuery::OnDraw(CDC* pDC) { CSize size = GetTotalSize(); CBitmap bitmap; CDC memDC; memDC.CreateCompatibleDC(pDC); // Creation du Memory DC bitmap.CreateCompatibleBitmap(pDC, size.cx, size.cy); // Creation du bitmap CBitmap* oldBitmap = memDC.SelectObject(&bitmap);
memDC.SelectObject(GetStockObject(BLACK_PEN)); memDC.SelectObject(GetStockObject(WHITE_BRUSH)); memDC.Rectangle(0, 0, size.cx, size.cy); // Effacer le bitmap
pDC->BitBlt(0, 0, size.cx, size.cy, &memDC, 0, 0, SRCCOPY); // Copier le bitmap sur l'écran memDC.SelectObject(oldBitmap); }
Rémi
-- Rémi Thomas - MVP Visual Studio .NET Développeur Windows indépendant http://www.xtware.com/cv
Christian ASTOR
Stephane Legras-Decussy wrote:
par contre je ne parviens pas à creer un device context en memoire, creer un bitmap vierge ( createcompatiblebitmap ) l'associer au HDCmem, et dessiner dessus...
par contre je ne parviens pas à creer un device context en memoire,
creer un bitmap vierge ( createcompatiblebitmap )
l'associer au HDCmem, et dessiner dessus...
par contre je ne parviens pas à creer un device context en memoire, creer un bitmap vierge ( createcompatiblebitmap ) l'associer au HDCmem, et dessiner dessus...