Programación General > C++ Builder
Convertir Jpg A Bmp
(1/1)
Ithilien:
Hola,
alguien puede decirme como se realiza ese procedimiento de conversión?
Gracias
JuanK:
existen librerias especializadas para tal fin.
Un truco para salir rapido del problema es cargar el jpeg en un objeto TBitmap y ya una vez cargado usar el metodo SaveToFile del objeto TBitmap e indicarle que haga save como archivo bmp.
Ithilien:
Hola JuanK,
muchas gracias por contestar. Efectivamente esa opción sería la correcta. De todas formas me interesaba evitar el usar ficheros, porque lo que quería era guardar en la base de datos la imagen bmp, por lo que al final he utilizado la opción Stream. Eso, junto con código de una página japonesa / china / koreana, me ha servido para resolver el problema.
Por si alguien esta interesado también en la conversión de imágenes JPG a BMP, pongo el código para que no tengan que buscar más, que siempre se agradece:
--- Código: Text --- //Se carga la imagen TJPEGImage *j = new TJPEGImage; j->LoadFromFile( OpenPictureDialogo->FileName ); j->DIBNeeded(); //Se redimensiona Graphics::TBitmap * bm = new Graphics::TBitmap(); bm->Width = DBImagen->Width; bm->Height = DBImagen->Height; bm->Canvas->StretchDraw(bm->Canvas->ClipRect,j); j->Assign(bm); //Se asigna al campo fotografía de la tabla de la BD Graphics::TBitmap *b = new Graphics::TBitmap(); TMemoryStream *s = new TMemoryStream; b->Assign(j); b->SaveToStream(s); delete b; delete j; MyTablaTrabajador->Edit(); MyTablaTrabajadorfotografia->LoadFromStream(s); MyTablaTrabajador->Post();
Aquí supongo que quiero mostrar la nueva imagen que cargo de un OpenPictureDialog en un DBimage que tengo en el formulario. Se consigue una redimensión de la imagen para que se vea correctamente, ajustándola a las dimensiones del DBImage. Por último, MyTablaTrabajador es un objeto TMyTable muy similar aTTable, cuyo TableName es una tabla que tengo en mi base de datos que se llama trabajador, y que tiene un campo que se llama fotografía.
Saludos!!!
Navegación
Ir a la versión completa