#include <stdio.h>
#define ITERATION 7 // max 7
#define MARGIN 2
#define FGCOLOR "100;100;100"
#define BGCOLOR "0;0;0"
#define P(width, lines) for (int i = 0; i < lines; i++) printf("#0!%d~$-", width);
void tri(unsigned long line)
{
int last = 0;
while (line) {
if (line & 1) {
printf("_we`ew");
} else
printf("%c!5?", last ? '_' : '?');
last = line & 1;
line >>= 1;
}
printf("_$-");
}
int main(void)
{
int lines_left = 1 << (ITERATION - 1);
int bgwidth = (lines_left + 2 * MARGIN) * 6;
unsigned long line = 1;
printf("\x1bPq#0;2;"BGCOLOR"#1;2;"FGCOLOR);
P(bgwidth, MARGIN);
while(lines_left--) {
printf("#0!%d~$!%d?#1", bgwidth, 3 * lines_left + 6 * MARGIN);
tri(line);
line ^= line << 1;
}
P(bgwidth, MARGIN);
printf("\x1b\\");
return 0;
}
실행 결과: stdout으로 sixel 이미지 출력
확인하려면 sixel 지원 터미널이나 png변환을 위한 imagemagick이 필요함
오
오 - dc App
오 겁나 멋지노
와 깐지야
오