
Gordon Smith wrote:
Looks like its this easy (not using any_image yet): using namespace gil;
BITMAP bm;
m_bmp.GetBitmap(&bm);
if (bm.bmPlanes == 1 && bm.bmBitsPixel == 8)
{
rgb8c_view_t src = interleaved_view(bm.bmWidth, bm.bmHeight, (const rgb8_pixel_t*)bm.bmBits, bm.bmWidthBytes);
}
Yes. And here is how to extend it with any_image_view: typedef mpl::vector<gray8c_view_t, gray16c_view_t, rgb8c_view_t, rgb16c_view_t> my_view_types; typedef any_image_view<my_view_types> my_any_view_t; my_any_view_t create_runtime_gil_view(int color_space, int bpp, int w, int h, int row_bytes, void* pixels) { switch (color_space) { case kRGB: // your own enum switch (bpp) { case 8: return my_any_view_t(interleaved_view(w,h, (const rgb8_pixel_t*)pixels, row_bytes)); } ... } } I find this wrapper a nice way to get to GIL realm from your application. We have something similar for Photoshop, as Photoshop images are typically specified at run time. Lubomir