ゆのをXで描く試み

画像処理よく分からないです。

ゆの in TTY
ゆの in TTY

Photoshopで適当に元画像のコントラストを上げた後、インデックスカラーで3色(スペース、x、X)に割り付けてRAWで出力すると、{1,2,3}の連続したファイルが得られるので、それを読み込んで出力するだけ。

うちのターミナルは黒背景に白文字なので、色の割り付けをかなり工夫しないと思った通りに表示されない。可能ならば、xとXの差が大きいフォントを使うと、コントラストをつけやすくてよさそうだ。

with Ada.Text_IO;           use Ada.Text_IO;
with Ada.Streams;           use Ada.Streams;
with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO;

procedure Yuno_In_X is
   Yuno_No_Moto : Ada.Streams.Stream_IO.File_Type;
   X_Buffer     : Stream_Element_Array (1 .. 182);
   X_Last       : Stream_Element_Offset;
begin
   Open (File => Yuno_No_Moto,
         Mode => In_File,
         Name => "yuno_no_moto.raw");

   while not End_Of_File (Yuno_No_Moto) loop
      Read (File => Yuno_No_Moto,
            Item => X_Buffer,
            Last => X_Last);

      for I in 1 .. X_Last loop
         case X_Buffer (I) is
         when 0      => Put ("X");
         when 1      => Put ("x");
         when 2      => Put (" ");
         when others => null;
         end case;
      end loop;
      New_Line;
   end loop;
end Yuno_In_X;