Provided by: libsixel-bin_1.8.2-2.1_amd64 bug

NAME

       img2sixel - image converter to DEC SIXEL graphics

SYNOPSIS

       img2sixel [ -options ] imagefiles
       img2sixel [ -options ] < imagefiles

DESCRIPTION

       img2sixel converts various images into high quality DEC SIXEL image format.

COMMAND-LINE OPTIONS

       img2sixel has the following command-line options:

       -o, --outfile
            specify output file name (default:stdout).

       -7, --7bit-mode
            generate a sixel image for 7bit terminals or printers (default).

       -8, --8bit-mode
            generate a sixel image for 8bit terminals or printers.

       -R, --gri-limit
            limit arguments of DECGRI('!') to 255.

       -p COLORS, --colors=COLORS
            specify number of colors to reduce the image to (default=256).

       -m FILE, --mapfile=FILE
            transform image colors to match this set of colorsspecify map.

       -e, --monochrome
            output  monochrome sixel image.  this option assumes the terminal background color is
            black.

       -k, --insecure
            allow to connect to SSL sites  without  certs  (enabled  only  when  configured  with
            --with-libcurl)

       -i, --invert
            assume  the  terminal  background  color is white.  make sense only when -e option is
            given.

       -I, --high-color
            output 15bpp sixel image

       -u, --use-macro
            use DECDMAC and DEVINVM sequences to optimize GIF animation rendering.

       -n MACRONO, --macro-number=MACRONO
            specify an number argument for DECDMAC and make terminal  memorize  SIXEL  image.  No
            image is shown if this option is specified

       -C COMPLEXIONSCORE, --complexion-score=COMPLEXIONSCORE
            specify  an  number argument for the score of complexion correction.  COMPLEXIONSCORE
            must be 1 or more.

       -g, --ignore-delay
            render GIF animation without delay.

       -S, --static
            render animated GIF as a static image.

       -d DIFFUSIONTYPE, --diffusion=DIFFUSIONTYPE
            choose diffusion method which used with color reduction.
            DIFFUSIONTYPE is one of them:
            auto     -> choose diffusion type automatically (default)
            none     -> do not diffuse
            fs       -> Floyd-Steinberg method
            atkinson -> Bill Atkinson's method
            jajuni   -> Jarvis, Judice & Ninke
            stucki   -> Stucki's method
            burkes   -> Burkes' method
            a_dither -> positionally stable arithmetic dither
            x_dither -> positionally stable arithmetic xor based dither

       -f FINDTYPE, --find-largest=FINDTYPE
            choose method for finding the largest dimension of median cut  boxes  for  splitting,
            make sense only when -p option (color reduction) is specified.
            FINDTYPE is one of them:
            auto -> choose finding method automatically (default)
            norm -> simply comparing the range in RGB space
            lum  -> transforming into luminosities before the comparison

       -s SELECTTYPE, --select-color=SELECTTYPE
            choose  the  method for selecting representative color from each median-cut box, make
            sense only when -p option (color reduction) is specified.
            SELECTTYPE is one of them:
            auto     -> choose selecting method automatically (default)
            center   -> choose the center of the box
            average  -> calculate the color average into the box
            histogram -> similar with average but considers color histogram

       -c REGION, --crop=REGION
            crop source image to fit the specified geometry.
            REGION should be formatted as '%dx%d+%d+%d'.

       -w WIDTH, --width=WIDTH
            resize image to specified width.
            WIDTH is represented by the following syntax:
            auto       -> preserving aspect ratio (default)
            <number>%  -> scale width with given percentage
            <number>   -> scale width with pixel counts
            <number>px -> scale width with pixel counts

       -h HEIGHT, --height=HEIGHT
            resize image to specified height.
            HEIGHT is represented by the following syntax
            auto       -> preserving aspect ratio (default)
            <number>%  -> scale height with given percentage
            <number>   -> scale height with pixel counts
            <number>px -> scale height with pixel counts

       -r RESAMPLINGTYPE, --resampling=RESAMPLINGTYPE
            choose resampling method used with -w or -h option (scaling).
            RESAMPLINGTYPE is one of them:
            nearest  -> Nearest-Neighbor method
            gaussian -> Gaussian filter
            hanning  -> Hanning filter
            hamming  -> Hamming filter
            bilinear -> Bilinear filter (default)
            welsh    -> Welsh filter
            bicubic  -> Bicubic filter
            lanczos2 -> Lanczos-2 filter
            lanczos3 -> Lanczos-3 filter
            lanczos4 -> Lanczos-4 filter

       -q QUALITYMODE, --quality=QUALITYMODE
            select quality of color quanlization.
            QUALITYMODE is one of them:
            auto -> decide quality mode automatically (default)
            high -> high quality and low speed mode
            low  -> low quality and high speed mode
            full -> quality and careful speed mode

       -l LOOPMODE, --loop-control=LOOPMODE
            select loop control mode for GIF animation.
            auto    -> honer the setting of GIF header (default)
            force   -> always enable loop
            disable -> always disable loop

       -t PALETTETYPE, --palette-type=PALETTETYPE
            select palette color space type.
            auto -> choose palette type automatically (default)
            hls  -> use HLS color space
            rgb  -> use RGB color space

       -b BUILTINPALETTE, --builtin-palette=BUILTINPALETTE
            select built-in palette type
            xterm16    -> X default 16 color map
            xterm256   -> X default 256 color map
            vt340mono  -> VT340 monochrome map
            vt340color -> VT340 color map

       -E ENCODEPOLICY, --encode-policy=ENCODEPOLICY
            select encoding policy
            auto -> choose encoding policy automatically (default)
            fast -> encode as fast as possible
            size -> encode to as small sixel sequence as possible

       -B BGCOLOR, --bgcolor=BGCOLOR
            specify background color
            BGCOLOR is represented by the following syntax
            #rgb
            #rrggbb
            #rrrgggbbb
            #rrrrggggbbbb
            rgb:r/g/b
            rgb:rr/gg/bb
            rgb:rrr/ggg/bbb
            rgb:rrrr/gggg/bbbb

       -P, --penetrate
            penetrate GNU Screen using DCS pass-through sequence.

       -D, --pipe-mode (deprecated)
            read source images from stdin continuously.

       -v, --verbose
            show debugging info.

       -V, --version
            show version and license info.

       -H, --help
            print help.

ENVIRONMENT VARIABLES

       img2sixel has the following command-line options:

       SIXEL_BGCOLOR
            specify background color.
            overrided by -B(--bgcolor) option.
            represented by the following syntax:
            #rgb
            #rrggbb
            #rrrgggbbb
            #rrrrggggbbbb
            rgb:r/g/b
            rgb:rr/gg/bb
            rgb:rrr/ggg/bbb
            rgb:rrrr/gggg/bbbb

       SIXEL_NCOLORS
            specify number of colors to reduce the image to (default=256).
            overrided by -p(--colors) option.

Image loaders

       img2sixel includes two or more image decoder components.

       stb_image

            libsixel includes stb_image, a public domain image loader.
            img2sixel uses it as default built-in  image  decoder.   It  can  decode  almost  all
            images. but a few images can not be decoded by its limitations.

            Supported source formats:
               JPEG  baseline  &  progressive (12 bpc/arithmetic not supported, same as stock IJG
            lib)
               PNG 1/2/4/8/16-bit-per-channel
               TGA (not sure what subset, if a subset)
               BMP non-1bpp, non-RLE
               PSD (composited view only, no extra channels)
               PIC (Softimage PIC)
               PNM (PPM and PGM binary only)

            Limitations:
               no 12-bit-per-channel JPEG
               no JPEGs with arithmetic coding / JPEG 2000
               no 1-bit BMP

       libpng

               If libpng library is linked at compile time, img2sixel uses it  for  decoding  PNG
            image.

       libjpeg

               If  libjpeg library is linked at compile time, img2sixel uses it for decoding JPEG
            image.

       gdk-pixbuf2

               If gdk-pixbuf2 library is linked at compile time, img2sixel uses it  automatically
            in some cases.

       GD

               If  GD  library is linked at compile time, img2sixel uses it automatically in some
            cases.

       libsixel

               img2sixel can load SIXEL as source image format, because it  uses  libsixel  as  a
            SIXEL image decoder.

HISTORY

       Former  SIXEL  encoders(such  as  ppmtosixel) are mainly designed for dot-matrix printers.
       They minimize the amount of printer-head movement distance.  But nowadays this method  did
       not  represent  the  best  performance  for  displaying  sixel data on terminal emulators.
       Encoded SIXEL data for  VT-2xx/VT-3xx  terminals  were  found  in  80's  Usenet,  But  the
       technology of how to create them seems to be lost.

       kmiya's sixel(kmiya,2014) introduces an efficient encoding method which is re-designed for
       terminal  emulators  to  optimize  the  overhead  of  transporting  SIXEL   with   keeping
       compatibility  with  former  SIXEL  terminal.   Now libsixel and ImageMagick's sixel coder
       follow it.

       Araki Ken, known as the maintainer of mlterm, proposed  the  method  for  more  compressed
       SIXEL  encoding.   Now libsixel adopted that method.  Araki Ken describes about the way to
       generate high quality SIXEL.

       See http://mlterm.sourceforge.net/libsixel.pdf(in Japanese).

SEE ALSO

       sixel(5) sixel2png(1)

AUTHORS

       img2sixel is maintained by Hayaki Saito.  We  imported  whole  code  of  stb_image  v2.12,
       written  by  Sean  Barrett  and its contributers, for loading various images, and imported
       some code from pnmquant.c (netpbm library) for image quantization.

COPYRIGHT

       Copyright (c) 2014-2016 Hayaki Saito

       Permission is hereby granted, free of charge, to any  person  obtaining  a  copy  of  this
       software  and  associated  documentation  files  (the "Software"), to deal in the Software
       without restriction, including without limitation the rights to use, copy, modify,  merge,
       publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
       to whom the Software is furnished to do so, subject to the following conditions:

       The above copyright notice and this permission notice shall be included in all  copies  or
       substantial portions of the Software.

       THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT  WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
       INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR  A  PARTICULAR
       PURPOSE  AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
       FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN  AN  ACTION  OF  CONTRACT,  TORT  OR
       OTHERWISE,  ARISING  FROM,  OUT  OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
       DEALINGS IN THE SOFTWARE.

THANKS

       This software derives from the following implementations.

       stb_image-v2.12
            This software  includes  stb_image-v2.12  (stb_image.h),  a  public  domain  JPEG/PNG
            reader.
            https://github.com/nothings/stb

       pnmquant.c (netpbm library)
            The  implementation  of  median  cut  algorithm  for color quantization in quant.c is
            imported from pnmcolormap included in netpbm library.
            http://netpbm.sourceforge.net/
            pnmcolormap was derived from ppmquant, originally by Jef Poskanzer.

            Copyright (C) 1989, 1991 by Jef Poskanzer.
            Copyright (C) 2001 by Bryan Henderson.
            Permission to use, copy, modify, and distribute this software and  its  documentation
            for  any purpose and without fee is hereby granted, provided that the above copyright
            notice appear in all copies and that both that copyright notice and  this  permission
            notice appear in supporting documentation.  This software is provided "as is" without
            express or implied warranty.

       sixel 2014-3-2

            some part of converters/loader.c are derived from kmiya's  "sixel"  original  version
            (2014-3-2).
            http://nanno.dip.jp/softlib/man/rlogin/sixel.tar.gz
            It is written by kmiya@culti.
            He  distributes  it  under  very  permissive  license  which permits useing, copying,
            modification,  redistribution,  and  all  other   public   activities   without   any
            restrictions.
            He declares this is compatible with MIT/BSD/GPL.

REFERENCES

       resize.c (ImageMagick)

            We  added  some  resampling  filters  in  reference  to  the  line-up  of  filters of
            MagickCore's resize.c.

            http://www.imagemagick.org/api/MagickCore/resize_8c_source.html

CONTRIBUTORS

       Araki Ken (@arakiken)
       Markus Elfring (@elfring)
       Akinori Hattori (@hattya)
       isaki (@isaki68k)
       NOKUBI Takatsugu (@knok)
       Yasuhiro MATSUMOTO (@mattn)
       Masami HIRATA(@msmhrt)
       OBATA Akio (@obache)
       Izumi Tsutsui (@tsutsui)
       Iwamoto Kouichi (@ttdoda)
       haru (@uobikiemukot)
       Vertis Sidus (@vrtsds)
       Bruce Mitchener (@waywardmonkeys)
       Kazuhiro YOSHIKAWA (@yoshikaw)
       Turenar <sora@turenar.xyz>
       Yusuke Endoh <mame@ruby-lang.org>
       mattn <mattn.jp@gmail.com>
       Akinori Hattori <hattya@gentoo.org>
       Øyvind Kolås <pippin@gimp.org>

BUGS

       •      Send bug-reports, fixes, enhancements to saitoha@me.com