Ver Mensaje Individual
  #1  
Antiguo 27-11-2017
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Reputación: 20
MAXIUM Va camino a la fama
Smile [FreePascal] Imagen retro 640x480x16

Imagen visualizada en Turbo Pascal a 640x480 y 16 colores.


Hola que tal,

Estoy trabajando de ocio en un proyecto en Lazarus que convierta imágenes a formato de 648x480 y usando los 16 colores del viejo Turbo Pascal.

Hasta el momento he conseguido convertir una imagen BMP pre-convertida usando Photoshop y luego en Lazarus traducir esa imagen a un archivo que contiene los valores X,Y y color de cada pixel, para luego pueda ser cargada en Turbo Pascal o FreePascal DOS en una pantalla antigua VGA.

La muestra es la imagen que os presento. La verdad es que no es de ninguna utilidad y solo es ocio como indique.

Lo que me falta saber es si la librería Graphics32 puede personalizar la paleta de colores a usar junto con filtro difusión. Si no, no importa.

Código Delphi [-]
Program Pixelart;

Uses
    CRT, Graph;

Type
    TPixel = Record
        PosicionX : Integer;
        PosicionY : Integer;
        PixelColor: Integer;
    End;

Var
   GD, GM: Integer;
   Color: Word;
   Archivo: File of TPixel;
   Pixeles: TPixel;
Begin
     GD:= 9; {Detect;}
     GM:= 2;
     InitGraph(GD, GM, ' ');

     If GraphResult <> grOK Then Halt(1);

     Assign(Archivo, 'imagen.dat');
     Reset(Archivo);

     While Not EOF(Archivo) Do
     Begin
          Read(Archivo, Pixeles);
          PutPixel(Pixeles.PosicionX, Pixeles.PosicionY, Pixeles.PixelColor);
     End;

     Close(Archivo);

     ReadLn;

     CloseGraph;
End.
Archivos Adjuntos
Tipo de Archivo: zip terminator.zip (245,4 KB, 1 visitas)

Última edición por MAXIUM fecha: 27-11-2017 a las 08:58:15.
Responder Con Cita