Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   [FreePascal] Imagen retro 640x480x16 (https://www.clubdelphi.com/foros/showthread.php?t=92555)

MAXIUM 27-11-2017 08:51:56

[FreePascal] Imagen retro 640x480x16
 
1 Archivos Adjunto(s)
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.


La franja horaria es GMT +2. Ahora son las 18:29:00.

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