NAME¶
img2sixel - image converter to DEC SIXEL graphics
SYNOPSIS¶
img2sixel [ -
options ]
imagefiles
img2sixel [ -
options ] <
imagefiles
DESCRIPTION¶
img2sixel convert JPEG/PNG images into DEC SIXEL image format.
COMMAND-LINE OPTIONS¶
img2sixel has the following command-line options:
- -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.
- -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.
- -i, --invert
- assume the terminal background color is white. make sense only when -e
option is given.
- -u, --use-macro
- use DECDMAC and DEVINVM sequences to optimize GIF animation
rendering.
- -g, --ignore-delay
- render GIF animation without delay.
- -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 diffusion
fs -> Bill Atkinson's method
atkinson -> Floyd-Steinberg method
jajuni -> Jarvis, Judice & Ninke
stucki -> Stucki's method
burkes -> Burkes' method
- -f FINDTYPE, --find-largest=FINDTYPE
- choose method for finding the largest dimention 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 -> caclulate the color average into the box
histgram -> similar with average but considers color histgram
- -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
- -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
SEE ALSO¶
sixel(5)
sixel2png(1)
AUTHORS¶
img2sixel is maintained by Hayaki Saito. We imported whole code of
stbi-1.41, written by Sean Barrett and its contributers, for loading
PNG/JPEG images, and imported some code from
pnmquant.c (netpbm
library) for image quantization.
COPYRIGHT¶
Copyright (c) 2014 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.
- stbi-1.41
- This software includes stbi-1.41 (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.
- monosixel (arakiken's tw)
-
The pattern dither algorithm implemented in quant.c is imported from
monosixel/main.c in arakiken's tw "sixel" branch.
https://bitbucket.org/arakiken/tw/branch/sixel
This tool is written by Araki Ken, and we regard it as a derivative of.
original tw, created by Sho Hashimoto.
Copyright (c) 2012 Sho Hashimoto
Copyright (c) 2014 Araki Ken
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.
- 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),
Iwamoto Kouichi (@ttdoda)
Kazuhiro YOSHIKAWA (@yoshikaw)
BUGS¶
- •
- Send bug-reports, fixes, enhancements to user@zuse.jp.