[QUOTE]
Константин Ганюшин написал:
Исходя из сформированного QImage, XIMAGEDESC.Point заполнен как массив шириной exampleWidth и высотой exampleHeight формата RGB-32 (0xffRRGGBB).[/QUOTE]
Данное описание корректно. На текущий момент мы можем привести пример формирования BITMAP на C++ с сохранением в файл:
[CODE]Gdiplus::Bitmap* newimage = 0;
try
{
newimage = new Gdiplus::Bitmap(ximagedesc->Width, ximagedesc->Height,PixelFormat32bppARGB);
}
catch(...)
{
return 0;
}
Gdiplus::Rect gdrect(0, 0, ximagedesc->Width, ximagedesc->Height);
Gdiplus::BitmapData data;
newimage->LockBits(&gdrect, Gdiplus::ImageLockModeWrite, PixelFormat32bppARGB, &data);
int widthbits = ximagedesc->Width * 4;
BYTE* pSrcPointer = (BYTE*)ximagedesc->Point;
BYTE* pDstPointer = (BYTE*)data.Scan0;
for (int i=0; i < ximagedesc->Height; i++)
{
memcpy(pDstPointer, pSrcPointer, widthbits);
if (i == ximagedesc->Height - 1)
break;
pSrcPointer = pSrcPointer + widthbits;
pDstPointer += data.Stride;
}
newimage->UnlockBits(&data);
newimage->Save(outpath, &ImagePngCLSID, NULL);
[/CODE]
Дополнительно, уточните, пожалуйста, каким способом Вы выводите и контролируете полученный Bitmap.