[C con Clase] Cargar y usar un bitmap desde archivo abrir
Programante
programante en gmail.com
Lun Abr 6 16:06:40 CEST 2009
Juan Antonio Hernández Álvarez escribió:
> Hola buenas
>
> Ante todo muchas gracias Steve por tu anterior respuesta me ha
> ayudado mucho a orientarme
>
> En esta ocasion abro un cuadro de dialogo de abrir
>
> if (GetOpenFileName(&ofn)==TRUE)
> {
> abrir = CreateFile(ofn.lpstrFile,
> GENERIC_READ,
> 0,
>
> (LPSECURITY_ATTRIBUTES) NULL,
> OPEN_EXISTING,
> FILE_ATTRIBUTE_NORMAL,
> (HANDLE) NULL);
> }
>
> abrir es de tipo HANDLE que segun la documetación del msdn se
> transformará del tipo de dato especificado
>
> yo lo que quiero hacer es cargar un bitmap imagenes .bmp y usarlas
> como un bitmap dentro de mi programa
>
> es decir poder usarlo como fondo, copiarlo...
>
> hasta ahora lo se hacer con preestablecidos. Por ejemplo me gustaria
> hacer lo equivalente a lo que hago con este otro cagado en el .rc
>
> hdc=GetDC(hwnd);
> hdcmem=CreateCompatibleDC(hdc);
> ReleaseDC(hwnd, hdc);
>
> hbitmap = LoadBitmap
> ((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),
> MAKEINTRESOURCE (IDB_BITMAP1));
> SelectObject (hdcmem, hbitmap);
>
> GetObject (hbitmap, sizeof(BITMAP), &bm); // Vemos el
> tamaño del dibujo
> ancho = bm.bmWidth;
> alto = bm.bmHeight;
> DeleteObject(hbitmap);
>
> pero con el de abrir
>
>
> Un saludo y muchas gracias por anticipado
> Juanan
No necesitas usar CreateFile, en vez de LoadBitmap, utiliza la función
LoadImage con el parámetro LR_LOADFROMFILE
http://winapi.conclase.net/curso/index.php?fun=LoadImage
Más información sobre la lista de distribución Cconclase