Click here to Skip to main content
15,898,588 members
Home / Discussions / Managed C++/CLI
   

Managed C++/CLI

 
QuestionUsing 64-bit IAccessible from managed code Pin
Ivo Beltchev22-Jan-10 15:38
Ivo Beltchev22-Jan-10 15:38 
QuestionSaving Bitmap image data to HGLOBAL [modified] Pin
alleyes19-Jan-10 9:40
professionalalleyes19-Jan-10 9:40 
GeneralRe: Saving Bitmap image data to HGLOBAL [modified] Pin
Andreoli Carlo19-Jan-10 21:00
professionalAndreoli Carlo19-Jan-10 21:00 
QuestionRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 1:38
professionalalleyes20-Jan-10 1:38 
AnswerRe: Saving Bitmap image data to HGLOBAL Pin
Andreoli Carlo20-Jan-10 3:17
professionalAndreoli Carlo20-Jan-10 3:17 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 3:52
professionalalleyes20-Jan-10 3:52 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 5:27
professionalalleyes20-Jan-10 5:27 
AnswerRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 7:01
Mark Salsbery20-Jan-10 7:01 
alleyes wrote:
The Bitmap images in memory use the System::Drawing::Bitmap classes not the GDI+ version.


System.Drawing IS the managed version of GDI+.
It's using GDI+ in its implementation. So your
images ARE GDI+ images.

Why do you need to use an HGLOBAL in a managed application?


If you need old school GDI BITMAPINFOHEADER stuff you
can certainly construct that info yourself from info
in your GDI+ System.Drawing.Bitmap objects.

For example, to extract 24bpp image data from a
System.Drawing.Bitmap:
using namespace System::Drawing;
using namespace System::Drawing::Imaging;

Bitmap ^bmp = ...;

Rectangle rect = Rectangle(0, 0, bmp->Width, bmp->Height);
BitmapData ^bmpData = bmp->LockBits(rect, ImageLockMode::Read, PixelFormat::Format24bppRgb);

BITMAPINFOHEADER bmiHeader;
bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmiHeader.biWidth = bmp->Width;
bmiHeader.biHeight = bmp->Height;
bmiHeader.biPlanes = 1;
bmiHeader.biBitCount = 24;
bmiHeader.biCompression = BI_RGB;
bmiHeader.biSizeImage = abs(bmpData->Stride) * bmpData->Height;
bmiHeader.biXPelsPerMeter = 0;
bmiHeader.biYPelsPerMeter = 0;
bmiHeader.biClrUsed = 0;
bmiHeader.biClrImportant = 0;

bmp->UnlockBits(bmpData);


Mark Salsbery
Microsoft MVP - Visual C++

Java | [Coffee]

GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 7:08
professionalalleyes20-Jan-10 7:08 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 7:18
Mark Salsbery20-Jan-10 7:18 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 7:29
professionalalleyes20-Jan-10 7:29 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 7:36
Mark Salsbery20-Jan-10 7:36 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 7:48
professionalalleyes20-Jan-10 7:48 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 8:03
Mark Salsbery20-Jan-10 8:03 
GeneralRe: Saving Bitmap image data to HGLOBAL [modified] Pin
alleyes20-Jan-10 8:34
professionalalleyes20-Jan-10 8:34 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 9:17
professionalalleyes20-Jan-10 9:17 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 9:42
Mark Salsbery20-Jan-10 9:42 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 9:58
professionalalleyes20-Jan-10 9:58 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 10:07
Mark Salsbery20-Jan-10 10:07 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 10:09
professionalalleyes20-Jan-10 10:09 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 10:20
Mark Salsbery20-Jan-10 10:20 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 10:31
professionalalleyes20-Jan-10 10:31 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
alleyes20-Jan-10 10:45
professionalalleyes20-Jan-10 10:45 
GeneralRe: Saving Bitmap image data to HGLOBAL Pin
Mark Salsbery20-Jan-10 11:33
Mark Salsbery20-Jan-10 11:33 
GeneralRe: Saving Bitmap image data to HGLOBAL [modified] Pin
alleyes21-Jan-10 2:15
professionalalleyes21-Jan-10 2:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.