Ver Mensaje Individual
  #6  
Antiguo 12-01-2005
Avatar de molarte
molarte molarte is offline
Miembro
 
Registrado: nov 2004
Ubicación: Mexico DF
Posts: 13
Reputación: 0
molarte Va por buen camino
Thumbs up

Héctor y Sergio,

Les agradezco mucho la ayuda. El método de Sergio es el más sencillo y efectivamente como comentas, Héctor, tenía problemas con la paleta; sin embargo, como lo voy a pasar a JPG, el bitmap lo creó a 24 bit por pixel y en un RGB con los cada canal al mismo valor tengo el gris correspondiente. Aparantemente estó no me implica mucha carga de procesamiento. Probaré la solución de Héctor a ver si hay diferencia en el desempeño.

A continuación les muestro mi solución:

Faltó comentar que el archivo de imagen RAW lo tengo en memoria en un arreglo de byte de 416*416.

Código:
 
procedure ConvierteImagen;
var
  BMP : TBitmap;
  ContRenglon, ContColumna, ContImagen  : integer;
  Renglon : PByteArray;
begin
  BMP := TBitmap.Create;
  BMP.HandleType := bmDIB;
  BMP.PixelFormat := pf24bit;
  BMP.Width := 416;
  BMP.Height := 416;
  ContImagen := 0;
  for ContRenglon := 0 to 415 do
  begin
	Renglon := BMP.ScanLine[ContRenglon];
	for ContColumna := 0 to 415 do
	begin
	  Renglon[ContColumna*3] := Imagen[ContImagen];
	  Renglon[ContColumna*3+1] := Imagen[ContImagen];
	  Renglon[ContColumna*3+2] := Imagen[ContImagen];
	  Inc(ContImagen);
	end;
  end;
  BMP.SaveToFile('C:\HuellaPrueba.bmp');
  BMP.Free;
end;
Agradezco mucho su ayuda y cualquier cosa estoy para servirles.

Gracias
Miguel
Responder Con Cita