| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 28 Oct, 2002 11:57 pm Asunto: Cargar una imagen GIF o JPEG en un TImage usando el API |
|
|
Esta función sirve para cargar una imagen GIF/JPEG en un TImage en cualquier versión de C++Builder.
- Añadimos: #include<olectl.h>
| Código: | void CargarImagen(
TImage *imagen, // puntero al TImage donde cargaremos la imagen
String nombreFichero) // ruta del fichero a cargar
{
// Formatos: BMP, GIF, JPG, ICO, EMF, WMF
const int HIMETRIC_INCH = 2540;
IPicture *pPicture = NULL;
OleLoadPicturePath( StringToOleStr(nombreFichero),
NULL, 0, 0, IID_IPicture, (void**)&pPicture);
// Carga la imagen en el TImage
if (pPicture)
{
imagen->Picture = NULL;
long ancho, alto;
pPicture->get_Width(&ancho);
pPicture->get_Height(&alto);
imagen->Picture->Bitmap->Width = MulDiv(ancho,
GetDeviceCaps(imagen->Canvas->Handle, LOGPIXELSX), HIMETRIC_INCH);
imagen->Picture->Bitmap->Height = MulDiv(alto,
GetDeviceCaps(imagen->Canvas->Handle, LOGPIXELSY), HIMETRIC_INCH);
RECT rect = imagen->ClientRect;
pPicture->Render(imagen->Canvas->Handle, 0, 0,
imagen->Picture->Bitmap->Width, imagen->Picture->Bitmap->Height,
0, alto, ancho, -alto, &rect);
pPicture->Release();
}
} |
Y para probarla podemos añadir a nuestro Form un TImage (Image1) con la propiedad AutoSize a true, un TButton (Button1) y en su evento OnClick el código siguiente:
CargarImagen(Image1, "c:\\nuestroDir\\nuestraImagen.gif");
Tambien podemos pasarle como segundo argumento un enlace:
CargarImagen(Image1, "http://cppbuilder.hypermart.net/leo.gif");
Yo lo he probado usando BCB1 y BCB6 en Windows 2000 y Windows XP. Otros compañeros lo ha probado en Windows 98SE y Windows ME. Si alguien lo prueba en otras versiones que lo comente por favor, gracias. |
|
| Volver arriba |
|
 |
Alex Cdt

Registrado: 03 Nov 2002Mensajes: 5
|
Publicado: Sab 09 Nov, 2002 12:55 pm Asunto: |
|
|
Hola, estoy muy interesado en tu función pues tengo un componente que abre gif, pero estos parpadean demasiado cuando hay varios abiertos.
He probado tu funcion y me dice que no encuentra la funcion "OleLoadPicturePath();" me puedes decir donde se encuentra esta funcion.
Gracias  |
|
| Volver arriba |
|
 |
j&j Cdt

Registrado: 14 Feb 2003Mensajes: 1
|
Publicado: Vie 14 Feb, 2003 11:56 am Asunto: Movimiento de los gifs LEOOOOO! AYUUUUUUUDAME! |
|
|
Gracias Leo por este trocito de programa que es de gran utilidad, pero mi duda es que los gifs no se mueven, he colocado el trozo de programa tal y como tu lo dices, el gif me aparece, pero no se me mueve, lo necesito rapido, por favor contesta rapido, ya que tengo que entregar un proyecto el lunes.
GRACIAS  |
|
| Volver arriba |
|
 |
MAIN Cdt

Registrado: 30 Jul 2003Mensajes: 2
|
Publicado: Mie 30 Jul, 2003 2:59 pm Asunto: Re: Cargar una imagen GIF o JPEG en un TImage usando el API |
|
|
GRACIAS LEO HE TRATADO DE INVESTIGAR COMO PERO NUNCA PUDE
SOY UN NOVATO Y QUISIERA SER UN DISIPULO.
TENGO MUCHO INTERES Y SOY HABIL PARA ENTENDER Y COMPRENDER.
SI ME ACEPTAS COMO TU DISIPULO. TE LO AGRADECERE. _________________ PROBLEMAS CON ANGULOS., QUISIERA HACER UN JUEGOS DONDE REBOTA UNA PELOTA DEPENDIENDO EL ANGULO DE REBOTE.
COMO SE HACE, TENGO QUE VALIDAR CADA UNA DE LAS COORDENADAS E INVERTIRLAS |
|
| Volver arriba |
|
 |
nuno Cmdr

Registrado: 10 Feb 2003Mensajes: 143Ubicación: Córdoba - Argentina
|
Publicado: Jue 22 Abr, 2004 7:30 pm Asunto: gif animados |
|
|
| leo esa funcion que publicaste para cargar un gif anda perfecto pero la imagen no se mueve, es decir queda estatica, no se si me falta agregar alguna propiedad para que se mueva el gif |
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Sab 24 Abr, 2004 4:39 pm Asunto: |
|
|
| me parece que para esto requerirás un componente mas específico que carge gifs animados. |
|
| Volver arriba |
|
 |
jhonalba Ens


Registrado: 24 Ago 2002Mensajes: 40Ubicación: Colombia
|
Publicado: Dom 19 Sep, 2004 10:34 pm Asunto: nomme funciona esta funcion! |
|
|
Hola, quisiera usar esta funcion para cargar una imagen JPEG
o JPG pero no me funciona alguien sabe porque??
sigo el ejemplo de _leo pero no funciona!"!!
De antemano gracias.
Regards, |
|
| Volver arriba |
|
 |
jhonalba Ens


Registrado: 24 Ago 2002Mensajes: 40Ubicación: Colombia
|
Publicado: Mie 06 Oct, 2004 3:43 am Asunto: No!! |
|
|
Hola,
No me funciona la uncion con JPG por favor ayuda....
Saludos.
PD: Uso C++Builder 6.0
Bye. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 06 Oct, 2004 4:24 am Asunto: |
|
|
Esta rutina es útil más que nada para cargar imágenes GIF (no animados) sin instalar ninguna librería extra (aunque no funciona en todas las versiones de Windows).
El Builder permite usar imágenes JPEG sin necesidad de esta rutina. Suponiendo que tengas un TImage, solo tendrías que hacer lo siguiente:
#include <jpeg.hpp>
Image1->Picture->LoadFromFile("C:\\miDir\\miImagen.jpg"); |
|
| Volver arriba |
|
 |
jhonalba Ens


Registrado: 24 Ago 2002Mensajes: 40Ubicación: Colombia
|
Publicado: Mie 06 Oct, 2004 2:59 pm Asunto: Gracdias |
|
|
| _Leo, como siempre mil gracias. |
|
| Volver arriba |
|
 |
Randy Morgado Cdt

Registrado: 08 Dic 2004Mensajes: 1Ubicación: Coquimbo chile
|
Publicado: Mie 22 Dic, 2004 6:03 pm Asunto: Todo Ok |
|
|
| Gacias leo, resulta impeque |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
likibuay Master


Registrado: 24 Abr 2006Mensajes: 190Ubicación: COLOMBIA
|
Publicado: Vie 20 Oct, 2006 9:12 am Asunto: |
|
|
Huyy de la q me salvo _Leo, Gracias!
El codigo me cayo de pelos. _________________ ><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________ |
|
| Volver arriba |
|
 |
likibuay Master


Registrado: 24 Abr 2006Mensajes: 190Ubicación: COLOMBIA
|
Publicado: Mar 11 Mar, 2014 4:07 am Asunto: |
|
|
funcionando en B6 y Win7
Gracias _leo nuevamente. _________________ ><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________ |
|
| Volver arriba |
|
 |
|