Programación General > C++ Builder

 Cargar Imagen En Un Timage Desde Memoria

(1/1)

giropau:
Hola, tal y como dice el título quiero cargar una imagen almacenada en un char* en memoria directamente al control de imagen. Actualmente lo que hago es crear un fichero en disco y despues usar "LoadFromFile". Me gustaria saltarme este paso. La imagen es un jpg que descargo de una camara ip en mi red local. He estado probando con un TMemoryStream. Hasta el momento he conseguido guardar la imagen en el stream ya que he probado de hacer un "SaveToFile" y lo guarda bien.
Para mostrarla utilizo la siguiente instruccion:

--- Código: Text --- Image1->Picture->Bitmap->LoadFromStream(stream);  Pero no carga nada. ¿hay alguien que me podria ayudar?.
Si para cargar la imagen desde memoria se puede hacer mediante otro sistema estoy abierto a sugerencias. Gracias.

weps84:
bueno eso va a depender la imagen la tienes en un archivo?

Si es asi te aconsejo el siguiente codigo

   Image1->Picture->LoadFromFile(AnsiStrig(variable_tipo_cadena));

si es jpg tienes que agregar:

#include <jpeg.hpp> en el archivo .h

Espero esto te sirva

giropau:
De esta forma es como lo hago ahora mismo. Lo quiero hacer es mostrar la imagen sin crear el archivo en disco, es decir directamente desde memoria

weps84:
la pregunta y donde tienes el origen de la imagen o la estas haciendo durante la ejecucion del progrAMA, por que sin el origen del archivo no veo que tenga sentido llamar algo que no existe

 :lightsabre:  :lightsabre:  :lightsabre:  :lightsabre:  :lightsabre:  :lightsabre:  :lightsabre:  :lightsabre:

giropau:
El origen de la imagen se encuentra en una camara ip. Mediate las libreria wininet descargo esta imagen. Durante el proceso de descarga la imagen se almacena temporalmente en un char*. La forma facil de mostrarla es creando un fichero con el contenido de esta variable y despues cargandola desde disco. Lo que preguntava es si se puede mostrar la imagen con origen este char*. No es un problema muy grande ya que crear un fichero de 20K no es muy costoso. Cargar la imagen desde disco ya no lo se.

Navegación

[0] Índice de Mensajes

Ir a la versión completa