View Single Post
  #1  
Old 27/11/2017
MAXIUM's Avatar
MAXIUM MAXIUM is offline
Miembro
 
Join Date: May 2005
Posts: 1,503
Rep Power: 23
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.
Attached Files
File Type: zip terminator.zip (245.4 KB, 1 views)

Last edited by MAXIUM : 27/11/2017 at 08:58.
Reply With Quote