Преобразование растрового изображения C# в собственное растровое изображение C++ под GDI+C#

Место общения программистов C#
Anonymous
Преобразование растрового изображения C# в собственное растровое изображение C++ под GDI+

Сообщение Anonymous »

Я создал растровое изображение, подобное следующему на C# (например):

Код: Выделить всё

Image image = Image.FromFile("xxx.png");
Bitmap bitmap = new(image.Width, image.Height, PixelFormat.Format32bppArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.DrawImage(image, 0, 0, image.Width, image.Height);
И теперь мне нужно передать это растровое изображение в C++, и я столкнулся с проблемами.
Я попытался написать функцию преобразования, например:

Код: Выделить всё

Gdiplus::Bitmap* Utils::BitmapConverter::Convert(Drawing::Bitmap^ managedBitmap)
{
IntPtr hBitmap = managedBitmap->GetHbitmap();
return Gdiplus::Bitmap::FromHBITMAP((HBITMAP)hBitmap.ToPointer(), NULL);
}
Но это работает не идеально: теряется что-то вроде альфа-канала.
Что мне на самом деле следует изменить в моей функции преобразования?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -under-gdi

Вернуться в «C#»