Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2015
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Question Convertir imagen en Array of Byte

Saludos y buenos días primero que nada, tengo una duda y ojalá pudieran ayudarme.

Necesito pasar una imagen ya sea que la tenga almacenada en una variable (TBitMap) o componente TImage a un arreglo de bytes (array of byte) que representa el contenido de la imagen, esto para poder enviarla en un documento XML a un web service, ¿alguien ya lo ha hecho antes?

Encontré en este hilo (http://www.clubdelphi.com/foros/showthread.php?t=63985) una respuesta(#18) de Neftali pero como tengo desconocimiento del tema no sé si esto me sirva o sea lo que estoy tratando de hacer.

De antemano gracias y si necesitan más información de mi parte estaré al pendiente.

¡Saludos!
Responder Con Cita
  #2  
Antiguo 28-04-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Supongo que lo que necesitas es codificar la imagen en BASE64 para poder agregarla a tu XML.

Aquí tienes un hilo que muestra el código para hacer eso en el mensaje número 4:
http://www.clubdelphi.com/foros/show...ghlight=base64
Responder Con Cita
  #3  
Antiguo 28-04-2015
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Supongo que lo que necesitas es codificar la imagen en BASE64 para poder agregarla a tu XML.

Aquí tienes un hilo que muestra el código para hacer eso en el mensaje número 4:
http://www.clubdelphi.com/foros/show...ghlight=base64
Muchas gracias amigo por tu respuesta, lo intentaré de esa forma y daré respuesta.

Saludos!
Responder Con Cita
  #4  
Antiguo 29-04-2015
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, quizá también sirva echarle ojo a este post...

http://www.clubdelphi.com/foros/show...90&postcount=4

Que viene siendo al revés pero apuesto que una pista interesante se encuentra ahí.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 29-04-2015 a las 04:56:40.
Responder Con Cita
  #5  
Antiguo 04-05-2015
jlrdz jlrdz is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 50
Poder: 14
jlrdz Va por buen camino
Gracias a todos por sus respuestas y el tiempo que se tomaron en ayudarme, a fin de cuentas el archivo que me generó la importación de wsdl solicitaba que el archivo se pasara como TByteDynArray, aquí les dejaré la función que me ayudó a resolver dicho problema por si alguien más lleva a pasar por lo mismo.

Saludos.

Código Delphi [-]
function TForm1.FIleToByteArray(const FileName: string): TByteDynArray;
const BLOCK_SIZE=1024;
var BytesRead, BytesToWrite, Count : integer;
 F : FIle of Byte;
 pTemp : Pointer;
begin
 AssignFile( F, FileName );
 Reset(F);
try
 Count := FileSize( F );
 SetLength(Result, Count );
 pTemp := @Result[0];
 BytesRead := BLOCK_SIZE;
 while (BytesRead = BLOCK_SIZE ) do
 begin
  BytesToWrite := Min(Count, BLOCK_SIZE);
  BlockRead(F, pTemp^, BytesToWrite , BytesRead );
   pTemp := Pointer(LongInt(pTemp) + BLOCK_SIZE);
  Count := Count-BytesRead;
 end;
finally
  CloseFile( F );
 end;
end;

Así se manda llamar...
Código Delphi [-]
var nImagenArray :TByteDynArray;
begin
...
   nImagenArray := FileToByteArray('c:\rutaimagenejemplo.jpg');
...
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Salvar un array of byte en firebird? sonjeux Firebird e Interbase 3 30-01-2014 02:34:19
Leer byte a byte un fichero binario NPIdea C++ Builder 2 22-03-2012 17:36:34
convertir hex a Byte Lizeth Varios 4 07-04-2011 21:23:41
Como convertir un string a un array de byte K-ba Varios 2 14-02-2011 00:27:07
¿Buffer: array[0..1024] of Byte;? JXJ Varios 2 29-03-2009 23:05:46


La franja horaria es GMT +2. Ahora son las 09:08:57.


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
Copyright 1996-2007 Club Delphi