taka-tuos / nanotodon

CLI mastodon client
MIT License
35 stars 6 forks source link

高速な縮小・減色アルゴリズムを検討する #51

Open taka-tuos opened 1 month ago

taka-tuos commented 1 month ago

https://qiita.com/arakiken/items/26f6c67da5a9f9f907ac

taka-tuos commented 1 month ago

とりあえずまず諸々シンプル(モノクロ拡縮無しetc)なのを考えてみる:

// 8bitグレスケ
unsigned char bitmap[18*18]; 

for(int y = 0; y < 3; y++) {
  for(int x = 0; x < 18; x++) {
    int iy = y * 6;
    int mask = 7;
    int dat = 0;

    dat |= (bitmap[(iy++) * 18 + x] & 0x80) >> (mask--);
    dat |= (bitmap[(iy++) * 18 + x] & 0x80) >> (mask--);
    dat |= (bitmap[(iy++) * 18 + x] & 0x80) >> (mask--);
    dat |= (bitmap[(iy++) * 18 + x] & 0x80) >> (mask--);
    dat |= (bitmap[(iy++) * 18 + x] & 0x80) >> (mask--);
    dat |= (bitmap[(iy++) * 18 + x] & 0x80) >> (mask--);
    dat += '?';

    putchar(dat);
  }
}
taka-tuos commented 1 month ago

→とりあえずナイーブに実装してみて、それからいろいろ考えるものとする