RGB ANSI 코드 및 유니 코드 블록 그래픽 문자를 사용하여 (현대) 터미널에 이미지를 표시하는 작은 C ++ 프로그램.
유니 코드 반 블록 문자를 사용하여 문자 셀당 2 개의 24 비트 픽셀을 표시하는 다양한 유사한 도구 (예 : timg )가 있습니다. 이 프로그램은 4x8 픽셀 셀을 다른 유니 코드 문자에 매핑하여 해상도를 향상시켜 (잠재적으로 다운 스 칼디 된) 이미지의 각 4x8 픽셀 셀에 대한 다음 알고리즘을 사용하여 다음과 같습니다.
-0 옵션을 사용 하여이 최적화를 비활성화하여 차이점을 참조하십시오. 또는이 텍스트의 끝에서 비교 이미지를 살펴보십시오.
tiv [options] < filename > [ < filename > ...] 쉘은 와일드 카드를 확장합니다. 기본적으로 둘 이상의 이미지가 제공되면 썸네일 및 파일 이름이 표시됩니다. 옵션 목록의 경우 매개 변수가 없거나 --help 없는 명령을 실행하십시오.
SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later중요한
모든 설치 방법을 사용하려면 필요한 종속성 인 ImageMagick을 설치해야합니다. 대부분의 패키지 관리자는 자동으로 설치해야합니다.
Makefile은 현재 g++ 만 지원합니다. C ++ 17 및 UNIX 헤더 ( ioctl.h 및 sysexits.h , 특히 windows.h 지원하는 좋아하는 컴파일러를 사용하여 tiv 수동으로 컴파일 할 수 있어야합니다. PR을 환영합니다.
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src
make
# To move the tiv binary into your PATH (hopefully), also do
sudo make install sudo apt install imagemagick brew install imagemagick 하는 것을 잊지 마십시오.
brew install tiv원래 Apple Shell은 256 개의 색상 모드 (-256) 만 지원하고 이미지를 왜곡하여 추가 라인 간격이있는 것 같습니다. 또한 ITERM2를 설치하는 것이 좋습니다.
brew install --cask iterm2
make LDLIBS=-lstdc++fs (그러나 MacOS도 깨뜨립니다) #103을 참조하십시오.TIV는 API로 사용할 수 있습니다. 따라서 항상 좋아하는 FPS를 쉘에서 실행하고 싶다면 이것이 기회입니다.
라이브러리로 유용한 모든 코드는 tiv_lib.h 및 tiv_lib.cc로 격리되어 있습니다.
주요 진입 점은입니다
CharData findCharData (GetPixelFunction get_pixel, int x0, int y0, const int &flags)호출은 TIV 코드가 프레임 버퍼에서 픽셀을 요청할 수있는 std :: 함수를 사용합니다.
이 프레임 버퍼에서 호출은 4x8 픽셀 사각형의 픽셀을 쿼리합니다. 여기서 x0과 y0은 왼쪽 상단을 정의합니다. 호출은 최고의 유니 코드 그래픽 문자와 색상을 검색하여 이미지 의이 셀에 근사하여 Chardata 구조물로 반환합니다.
Apache 2.0 라이센스에 따라 유용한 기부금을 받아들이게되어 기쁩니다.
대부분의 예는이 프로그램의 Java 버전으로 촬영되었으며,이 프로그램은 동등한 출력을 가져야하지만 CPU 년에는 Millenia에 의해 느려집니다.
여러 이미지가 파일 이름 사양과 일치하면 썸네일이 표시됩니다.
아래의 예에서, 상단 이미지는 -0 옵션을 통해 비활성화 된 문자 최적화로 생성되었습니다.
이 코드는 GPL (3 이상) 또는 Apache 라이센스의 버전 2.0에서 자유롭게 사용할 수 있습니다. CECILL 2.0 (GPL에 가깝고 호환 가능) 또는 [Cecill-C] (https://spdx.org/licenses/cecill-c) (LGPL에 가깝고 APACHE와 호환)에 따라 라이센스가 부여 된 CIMG 라이브러리가 포함됩니다.