Gdiplus Image IStream/TStringAdapter
Bonjour,
voici mon code :
//PICT contient des objets graphiques dessiner préalablement sur son canvas
Code:
1 2
| PICT->Bitmap->SaveToFile("c:\\test.bmp");
Gdiplus::Image IMG = new Gdiplus::Image(WideString("c:\\test.bmp"),true); |
Ceci fonctionne bien mais est un peu lourd.
Il est possible de passer au constructeur Image de Gdiplus la classe IStream, mon problème c'est que je vois pas comment passer d'un TMemoryStream à un IStream.
En effet, voici mon début de code :
Code:
1 2
| TMemoryStream *ms = new TMemoryStream();
PICT->Bitmap->SaveToStream(ms); |
Je pense qu'il faut passer par TStreamAdapter comme suit :
Code:
TStreamAdapter * sa = new TStreamAdapter(ms,soReference);
Ensuite je ne sais pas quoi faire de "sa" avec le constructeur
Code:
Gdiplus::Image(IStream *stream,BOOL useEmbeddedColorManagement);
J'espère avoir été assez clair, si quelqu'un à une idée...
Merci.
Pouquoi faire compliqué quand on peut faire simple
En fait je suis parti sur la mauvaise voix.
Mon but était de passer d'une classe TBitmap GDI en classe Bitmap GDI+ donc voici ce que j'ai fait :
Code:
Gdiplus::Bitmap IMG = new Gdiplus::Bitmap(PICT->Bitmap->Handle,PICT->Bitmap->Palette);
IMG correspond bien à mon image PICT, je peux donc utiliser la fonction :
Code:
Gdiplus::DrawImage(Image *image, const Point &point);