GDI+ et affichage d'image avec couleurs transparentes
La classe Gdiplus::Graphics dispose de nombreuses surcharges de la méthode DrawImage
L'une d'entre elles a le prototype suivant:
Graphics::DrawImage(Image*, RectF&, RectF&, Unit, ImageAttributes*)
ou ImageAttributes est un ptr sur un objet permettant de paramétrer la transparence d'un intervalle de couleurs
pour une image donnée
voici le code:
Code:
1 2 3 4 5 6 7
|
graf.DrawImage(&m_imageDeFond, PointF(200, 250) ); //RectF
ImageAttributes attrib;
attrib.SetColorKey(Color(255, 255, 255), Color(255, 255, 255), ColorAdjustTypeBitmap);//blanc = trasparent
RectF dest(PointF(200.f, 250.f), SizeF((REAL)m_imageDeFond.GetWidth(), (REAL)m_imageDeFond.GetHeight()));
RectF source(PointF(0.f, 0.f), SizeF((REAL)m_imageDeFond.GetWidth(), (REAL)m_imageDeFond.GetHeight()));
graf.DrawImage(&m_imageDeFond, dest, source, UnitDisplay, &attrib); |
Le compilateur affiche:
error C2664: 'Gdiplus::Status Gdiplus::Graphics::DrawImage(Gdiplus::Image *,Gdiplus::REAL,Gdiplus::REAL,Gdiplus::REAL,Gdiplus::REAL)'
: cannot convert parameter 2 from 'Gdiplus::RectF' to 'Gdiplus::REAL'
en fait il croit que je veux utiliser la surcharge suivante:
Graphics::DrawImage(Image*,REAL,REAL,REAL,REAL)
Or elle n'a rien à voir avec celle que je veuw appeler.
j'ai beau static-caster pour lui montrer la voie, mais rien y fait.
Il semblerait que la surcharge bien que listée dans les méthodes de la classe Graphics
n'ait pas d'implémentation.
Du moins , c'est ma conclusion.
Si quelqu'un pouvait essayer et me dire ce que ça donne de son côté,
je lui serais bien reconnaissant.
PS: l'éxemple fourni dans la MSDN ne marche pas non plus.
Merci Codialement le petit dernier.