Duda C++ JPEG

Iniciado por W0lFy, 26 Enero 2011, 02:22 AM

0 Miembros y 2 Visitantes están viendo este tema.

W0lFy

Buenas , alguien me puede decir como puedo insertar en un control STATIC una imagen .jpg?  lo hago asi con bmp:

Código (cpp) [Seleccionar]
HWND imagen;
       barrita = CreateWindowEx(
       0,
      "STATIC",        /* Nombre de la clase */
      "imagen",         /* Texto del título */
      WS_CHILD|WS_VISIBLE|SS_BITMAP,
      0,0 ,           /* Posición */
      100,100,          /* Tamaño */
      hwnd,            /* Ventana padre */
      NULL, /* Identificador del control */
      hThisInstance,       /* Instancia */
      NULL);           /* Sin datos de creación de ventana */
   
      SendMessage(barrita, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)LoadImage(NULL, "img\\Cubo0.bmp", IMAGE_BITMAP,
              0, 0, LR_LOADFROMFILE));



como puedo hacerlo para JPG o cualquier formato? Gracias un saludo!
K@NuT0

BlackZeroX

.
Una alternativa es con las APIS GDIPLUS para obtener el HBITMAP y asi establecerla.

Dulces Lunas!¡.
.
The Dark Shadow is my passion.

W0lFy

La verdad es que nunca he tratado con esta librería... Donde puedo encontrar documentación sobre ella? he estado mirando por google, he conseguido descargarla y la puedo cargar en mi proyecto con:

hLib = LoadLibrary("gdiplus.dll");


El problema es que según he leido esta libreria tiene funciones para convertir jpg en bmp e incluso reducirlo de tamaño, como podría usar estas funciones o saber como se llaman o importarlas de alguna manera? Nunca me he metido con dll. la verdad es que estoy intentando hacer esto para meterlo en un formulario, una foto que es de 512X512 pero quiero reducirla para que entre en el formulario. Un saludo y perdonad las molestias :)
K@NuT0

BlackZeroX

#3
.
MSDN M$ ( WINAPI ), desconozco si existe para linux.

Son Apis asi que no tienes por que usar LoadLibrary

Dulces lunas.
The Dark Shadow is my passion.

W0lFy

He encontrado esto
http://msdn.microsoft.com/en-us/library/ms535370(v=VS.85).aspx

No consigo comprender como funciona gdiplus en winapi, intento usar alguna de sus funciones y no las reconoce, tengo que hacer algo antes?( Es como si tuviera que meter el header de <gdiplus.h>, pero si lo meto no reconoce donde está el archivo....). Estoy programando en windows XP con dev c++. Siento molestarte tanto, pero necesito un pequeño empujon... :)
K@NuT0

W0lFy

OK ya he conseguido poder utilizar esta libreria... Ahora ya tengo mi foto JPG en un BMP en disco y logro con el sendMessage pasarselo al HBITMAP, ahora el problema es que la imagen es muy grande, existe alguna manera de reducir el tamaño de  la imagen para que quede curiosa en el formulario? Perdonad las molestias....
K@NuT0