salut a tous
voila, j'ai besoin de blitter des données graphique a l'ecran, et ce de maniere tres tres rapide car c'est une operation que je fait extremement souvent dans mon programme
pour l'heure, j'utilise StretchDIBits, qui gere l'etirement mais qui ne me sert strictement a rien, du moins ca ne me sert a rien si je peux peux faire plus rapide sans etirement
j'imagine que la gestion du redimensionnement doit prendre pas mal de ressource, et donc je voudrais echanger contre un BitBlt, pour tester, seulement je vous explique pourquoi j'ai choisi StretchDIBits, c'est tres simple :
void FAR PASCAL
StretchDIB(
LPBITMAPINFOHEADER biDst,
LPVOID lpvDst,
int DstX,
int DstY,
int DstXE,
int DstYE,
LPBITMAPINFOHEADER biSrc,
LPVOID lpvSrc, // <----- BUFFER DIRECTE
int SrcX,
int SrcY,
int SrcXE,
int SrcYE
)
en gros la fonction me permet de blitter directement un buffer contenant des données de couleur (pixels), voila pourquoi je l'utilise, c'est super simple
maintenant voyons BitBlt :
BOOL BitBlt(
HDC hdcDest, // handle to destination DC
int nXDest, // x-coord of destination upper-left corner
int nYDest, // y-coord of destination upper-left corner
int nWidth, // width of destination rectangle
int nHeight, // height of destination rectangle
HDC hdcSrc, // handle to source DC
int nXSrc, // x-coordinate of source upper-left corner
int nYSrc, // y-coordinate of source upper-left corner
DWORD dwRop // raster operation code
);
mon probleme ce situe ici :
HDC hdcSrc, // handle to source DC
comment passer d'un buffer int* a un HDC, de maniere tres rapide ?
merci d'avance pour votre aide =)
a++