Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Cómo crear un arreglo de bytes apartir de una imagen? (https://www.clubdelphi.com/foros/showthread.php?t=63138)

fredycc 30-01-2009 21:26:34

Cómo crear un arreglo de bytes apartir de una imagen?
 
Hola, quisiera saber si en Delphi es posible crear un arreglo de bytes a partir de un archivo de imagen :confused:; en Visual lo he visto así:

Dim
fs As FileStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
Dim br As BinaryReader = New BinaryReader(fs)
Dim bm() AsByte = br.ReadBytes(fs.Length)
br.Close()
fs.Close()
Dim photo() AsByte = bm

Les agradecería su apoyo.:)

cHackAll 30-01-2009 21:55:41

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 lpBuffer: PChar;
 hFile, uBytes, Index: Integer;
begin
 hFile := _lopen('C:\WINDOWS\Web\Wallpaper\Felicidad.bmp', OF_READ);
 uBytes := GetFileSize(hFile, nil);
 lpBuffer := Ptr(LocalAlloc(0, uBytes));
 _lread(hFile, lpBuffer, uBytes);
 CloseHandle(hFile);
 
// begin sample
 for Index := Cardinal(PBitmap(lpBuffer + 2).bmBits) to uBytes - 1 do
  lpBuffer[Index] := Chr(Ord(lpBuffer[Index]) xor $FF);
 
 hFile := _lcreat('XORed.bmp', 0);
 _lwrite(hFile, lpBuffer, uBytes);
 CloseHandle(hFile);
// end sample
 
 LocalFree(Cardinal(lpBuffer));
end;

fredycc 31-01-2009 00:26:31

Tengo algunos problemitas para probar el código que amablemente escribiste; y es que olvide especificar que estoy utilizando delphi 2007 .net; y con el tipo de dato PCHar me: Unsafe pointer variables, parameters or consts only allowed in unsafe procedure :confused: y algunas funciones creo que tengo que cambiarlas como: _lopen, _lwrite, _lread y PBitmap. Gracias por el apunte.:o

Charly911 10-02-2009 13:50:02

Arreglo a .bmp
 
Hola gente del foro, queria saber si alguno me pude decir de que manera puedo crear una imagen .bmp a apartir de un arreglo de bits.
La idea es tener la imagen dentro del programa, para no tener el .exe y 12345 archivitos mas, osea un todo en uno.
Estoy usando el RAD Studio 2007...

Gracias de antemanos, Cristian.

MAXIUM 10-02-2009 16:04:15

Osea, estas hablando de recursos. Eso es facil.

Charly911 10-02-2009 17:33:46

Cita:

Empezado por MAXIUM (Mensaje 337670)
Osea, estas hablando de recursos. Eso es facil.

Y entoncess..... Como seria?? o.O


La franja horaria es GMT +2. Ahora son las 15:23:37.

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