아스키 아트(ASCII Art)

김태완·2025년 1월 22일

아스키 아트에 대해 알아보자.

저번 프로젝트에서 그림을 삽입할 수 없어 코드 내에서 아스키 아트를 이용해 몬스터들의 이미지를 구현했었다.

혼자서 C++를 공부하며 프로젝트 파일을 살펴보던 차, 아스키 아트에 대해 더 알고 싶어졌다.

아스키 아트

아스키 아트의 특징은 다음과 같다.

  1. 텍스트 기반
    모든 이미지가 문자(A-Z, 0-9, @, #, * 등)로 표현된다.
  2. 단순하지만 효과적:
    작은 화면에서도 읽기 쉽고, 파일 크기가 작아 저장 및 전송이 용이하다.
  3. 창의적인 패턴:
    다양한 문자를 조합하여 사람, 사물, 풍경 등을 묘사한다.
  4. 범용성:
    어떤 환경에서도 볼 수 있으며, 특수한 소프트웨어가 필요하지 않다.

위를 기반으로 아스키 아트를 반들 수 있는데, 간단한 그림부터 팀 혹은 프로젝트 명 등의 문자, 복잡한 일러스트까지 다양하게 만들 수 있다.

우선 이전 프로젝트에 사용된 아스키 아트들이다.

조금 더 디테일한 이미지를 넣고 싶었으나, 특수문자를 사용하지 않고 구현하는 것에 실패해 간단한 문자들로만 구현을 해 보았다.

위와 같이 슬라임의 이미지 파일을 아스키 아트로 변경하여 구현하고 싶었지만, 컴파일을 실행할 때 제대로 출력이 되지 않아 포기를 했었다.

그 때는 생각을 못 했지만, 이미지를 특수문자로 변환을 하는 것이 아닌 아스키 아트로 곧바로 변환을 할 수 있지 않을까 하는 생각이 들었고, 위의 오크의 아스키 아트를 만들어 출력을 해 보았는데

위의 이미지 보다 조금은 더 디테일하게 표현이 된 것 같다.

마치며

앞으로 무작정 이미지를 문자화 하는 것이 아닌 아스키 아트로써 컴파일러가 받아들일 수 있는 문자열로 변환을 해야겠다고 다시 깨달았다. 또한 같은 이미지를 변환 하더라도 컴퓨터가 출력을 할 수 있는 특수 문자를 사용해야 변환을 해야겠다.

0개의 댓글