Bonjour, j'utilise gdiplus sur une applis nécessaire et j'aurais besoin d'utiliser de l'alpha pour mon image, donc pour l'instant j'ai juste fait un test avec un rectangle transparent, voici le bout de code correspondant :
void CChildView::OnPaint() { CPaintDC dc(this); // contexte de périphérique pour la peinture
Graphics grPanel(dc.m_hDC);
grPanel.Clear(Color(0xFFFFFFFF));
Color c(0x800000FF); SolidBrush brushtest(c); //brushtest = new SolidBrush(c);
grPanel.FillRectangle(&brushtest, 25 , 50 ,500,500); //on pourra mette aussi en place une vraie zone interactive, avec prise en compte du click ?
// Ne pas appeler CWnd::OnPaint() pour la peinture des messages }
Au premier affichage de la fenetre, c'est trés lent, on voit presque que c'est ligne par ligne ... Voyez comment y remédier ? gdiplus c'est pourtant censé être la lib optimisée de gdi...
Marsh Posté le 16-03-2007 à 18:19:32
Bonjour, j'utilise gdiplus sur une applis nécessaire et j'aurais besoin d'utiliser de l'alpha pour mon image, donc pour l'instant j'ai juste fait un test avec un rectangle transparent, voici le bout de code correspondant :
void CChildView::OnPaint()
{
CPaintDC dc(this); // contexte de périphérique pour la peinture
Graphics grPanel(dc.m_hDC);
grPanel.Clear(Color(0xFFFFFFFF));
Color c(0x800000FF);
SolidBrush brushtest(c);
//brushtest = new SolidBrush(c);
grPanel.FillRectangle(&brushtest, 25 , 50 ,500,500); //on pourra mette aussi en place une vraie zone interactive, avec prise en compte du click ?
// Ne pas appeler CWnd::OnPaint() pour la peinture des messages
}
Au premier affichage de la fenetre, c'est trés lent, on voit presque que c'est ligne par ligne ... Voyez comment y remédier ? gdiplus c'est pourtant censé être la lib optimisée de gdi...