Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Cargar una imagen jpg en un TImage (https://www.clubdelphi.com/foros/showthread.php?t=43643)

giropau 16-05-2007 21:01:06

Cargar una imagen jpg en un TImage
 
Hola a todos. En verdad queria preguntar un par de cosillas, buenu lo otro solo sera si lo primero no se puede hacer.
Primero de todo me gustaria saber como poder carga una imagen en formato jpg en un TImage. Me da error en timepo de jecucion poruqe dice que el formato jpg es desconocido, solo me deja cargar imagenes en bmp. Para hacerlo uso lo siguiente Image->Picture->LoadFromFile("imagen.jpg");. No se si se puede hacer. En caso que no se pueda alguien sabe como convertir la imagen en jpg a bmp.
Y ahora biene lo dificil aunque este punto si nadi lo sabe pues no es importante. Todo esto lo necesito porque me descargo la imagen desde internet(que es un jpg), la guardo en el disco y la muestro. Antes de crearla los datos se guarda en un buffer de char*. Se puede cargar directamente(aplicando algun cambio claro esta) los datos del char* al TImage sin pasar por disco?. Gracias.

P.D. si estem tema se ha habaldo y resuelto en otro hilo pido perdon, no lo he sabido encontrar.

JXJ 16-05-2007 21:54:54

Asi lo hago en delphi, supongo que en c builder. solo cambias los . por ->
para poder cargar imagenes jpg, agrega la unidad jpeg
en tu seccion de uses.

//si queremos cargar una imagen.

try
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\carpeta\'+'imagen.jpg');
except
end;

en builder
supongo que en c builder. solo cambias los . por ->


try
Image1->Picture->LoadFromFile(ExtractFilePath(Application->ExeName)+'\carpeta\'+'imagen.jpg');
except
end;

JXJ 16-05-2007 22:04:08

si descargas la imagen de internet.
haciendo uso de tmemorystream
pudes cargar la imagen en memoria , al Timage.

a mi me gusta mas cargar la imagen desde el discoduro.

giropau 17-05-2007 20:55:17

A que te refieres con eso de la unidad jpg. Es una libreria? un archivo de cabecera?

Wellnic 17-05-2007 21:14:46

Cita:

Empezado por giropau
En caso que no se pueda alguien sabe como convertir la imagen en jpg a bmp.

Cargas la imagen .jpg en el Paint, en Archivo> Guardar como... puedes elegir el formato .bmp en Tipo de archivo, en la lista inferior. Así de fácil. :)

jachguate 17-05-2007 21:25:54

Cita:

Empezado por giropau
A que te refieres con eso de la unidad jpg. Es una libreria? un archivo de cabecera?

Una unidad, en pascal, es un "módulo" o un fragmento de código fuente de un programa. Algunas unidades contienen bibliotecas (o fragmentos de ellas) con un fin específico. Otras, contienen el código asociado a un formulario, etc.

así, jpeg es una unidad que contiene las rutinas de manejo de gráficos en formato jpeg para delphi.

En la clausula uses de la unidad de tu formulario se indica las unidades que se "usan" o que se "enlazan" desde tu unidad. Así, si añadís jpeg a la lista de unidades de dicha clausula, ya funcionará el código que te han mostrado.

Hasta luego.

;)

giropau 17-05-2007 21:53:07

Wellnic esto se debe hacer en timepo real o sea cuando yo quiera descargar la imagen convertirla y mostrala, no se puede pasar por el paint.

JXJ 19-05-2007 07:11:07

Disculpa. que estoy oxidado con el uso de BCB
aqui el archivo. adjunto

del discoduro imagen jpeg al Timage,

Cuando yo uso, algun formato de imagen., en un timage
para mas facil. primero pongo el Timage, y en tiempo de diseño
le cargo la imagen, en este caso jpeg, y despues guardo el proyecto
asi delphi o BCB agregan las referencias necesarias.

Revisa la inclusion
en el archivo unit1.h
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>//unidad Agregada jpeg
//---------------------------------------------------------------------------


La franja horaria es GMT +2. Ahora son las 22:29:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi