| IMG2SIXEL(1) | General Commands Manual | IMG2SIXEL(1) |
نام (NAME)
img2sixel - مبدل تصویر به قالب گرافیکی DEC SIXEL
خلاصه دستور (SYNOPSIS)
img2sixel [ -options ] imagefiles
img2sixel [ -options ] < imagefiles
توضیحات (DESCRIPTION)
دستور img2sixel تصاویر مختلف را به قالب تصویر باکیفیت DEC SIXEL تبدیل میکند.
گزینههای خط فرمان (COMMAND-LINE OPTIONS)
دستور img2sixel دارای گزینههای خط فرمان زیر است:
- -o, --outfile
- مشخص کردن نام فایل خروجی (پیشفرض: stdout).
- -7, --7bit-mode
- تولید یک تصویر sixel برای پایانهها یا چاپگرهای ۷ بیتی (پیشفرض).
- -8, --8bit-mode
- تولید یک تصویر sixel برای پایانهها یا چاپگرهای ۸ بیتی.
- -R, --gri-limit
- محدود کردن آرگومانهای DECGRI('!') به ۲۵۵.
- -p COLORS, --colors=COLORS
- مشخص کردن تعداد رنگها جهت کاهش رنگ تصویر به آن (پیشفرض=۲۵۶).
- -m FILE, --mapfile=FILE
- تبدیل رنگهای تصویر برای مطابقت با این نگاشت رنگهای مشخصشده.
- -e, --monochrome
- خروجی تصویر sixel به صورت تکرنگ (سیاهوسفید). این گزینه فرض میکند که رنگ پسزمینه پایانه مشکی است.
- -k, --insecure
- اجازه اتصال به سایتهای SSL بدون بررسی گواهیها (تنها در صورتی فعال است که با --with-libcurl پیکربندی شده باشد)
- -i, --invert
- فرض کردن اینکه رنگ پسزمینه پایانه سفید است. تنها زمانی موثر است که گزینه -e مشخص شده باشد.
- -I, --high-color
- خروجی تصویر sixel با عمق رنگ 15bpp
- -u, --use-macro
- استفاده از توالیهای DECDMAC و DEVINVM برای بهینهسازی رندر پویانمایی GIF.
- -n MACRONO, --macro-number=MACRONO
- مشخص کردن یک آرگومان عددی برای DECDMAC و وادار کردن پایانه به ذخیره تصویر SIXEL در حافظه. در صورت مشخص شدن این گزینه هیچ تصویری نمایش داده نمیشود.
- -C COMPLEXIONSCORE, --complexion-score=COMPLEXIONSCORE
- مشخص کردن یک آرگومان عددی برای امتیاز تصحیح رنگ چهره. COMPLEXIONSCORE باید ۱ یا بیشتر باشد.
- -g, --ignore-delay
- رندر پویانمایی GIF بدون تاخیر.
- -S, --static
- رندر پویانمایی GIF به عنوان یک تصویر ایستا.
- -d DIFFUSIONTYPE, --diffusion=DIFFUSIONTYPE
- انتخاب روش
دیفیوژن
(پخش خطا) که
همراه با
کاهش رنگ
استفاده
میشود.
DIFFUSIONTYPE یکی از این موارد است:
auto -> انتخاب خودکار نوع دیفیوژن (پیشفرض)
none -> بدون دیفیوژن
fs -> روش Floyd-Steinberg
atkinson -> روش Bill Atkinson
jajuni -> روش Jarvis, Judice & Ninke
stucki -> روش Stucki
burkes -> روش Burkes
a_dither -> خطاتهرنگی (dither) حسابی پایدار از نظر موقعیت
x_dither -> خطاتهرنگی حسابی مبتنی بر xor پایدار از نظر موقعیت - -f FINDTYPE, --find-largest=FINDTYPE
- انتخاب روش
برای یافتن
بزرگترین
بُعد
جعبههای median
cut جهت
تقسیم؛
تنها زمانی
موثر است که
گزینه -p
(کاهش رنگ)
مشخص شده
باشد.
FINDTYPE یکی از این موارد است:
auto -> انتخاب خودکار روش جستجو (پیشفرض)
norm -> مقایسه ساده بازه در فضای RGB
lum -> تبدیل به درخشندگیها پیش از مقایسه - -s SELECTTYPE, --select-color=SELECTTYPE
- انتخاب روش
برای
برگزیدن
رنگ
نماینده از
هر جعبه median-cut؛
تنها زمانی
موثر است که
گزینه -p
(کاهش رنگ)
مشخص شده
باشد.
SELECTTYPE یکی از این موارد است:
auto -> انتخاب خودکار روش گزینش (پیشفرض)
center -> انتخاب مرکز جعبه
average -> محاسبه میانگین رنگ درون جعبه
histogram -> مشابه میانگین اما با در نظر گرفتن هیستوگرام رنگ - -c REGION, --crop=REGION
- بریدن
تصویر مبدا
متناسب با
هندسه
مشخصشده.
محدوده (REGION) باید در قالب '%dx%d+%d+%d' باشد. - -w WIDTH, --width=WIDTH
- تغییر
اندازه
تصویر به
عرض
مشخصشده.
WIDTH با ساختار دستوری زیر مشخص میشود:
auto -> حفظ نسبت ابعاد (پیشفرض)
<number>% -> مقیاسبندی عرض با درصد مشخصشده
<number> -> مقیاسبندی عرض با تعداد پیکسل
<number>px -> مقیاسبندی عرض با تعداد پیکسل - -h HEIGHT, --height=HEIGHT
- تغییر
اندازه
تصویر به
ارتفاع
مشخصشده.
HEIGHT با ساختار دستوری زیر مشخص میشود:
auto -> حفظ نسبت ابعاد (پیشفرض)
<number>% -> مقیاسبندی ارتفاع با درصد مشخصشده
<number> -> مقیاسبندی ارتفاع با تعداد پیکسل
<number>px -> مقیاسبندی ارتفاع با تعداد پیکسل - -r RESAMPLINGTYPE, --resampling=RESAMPLINGTYPE
- انتخاب روش
بازنمونهبرداری
(resampling)
مورداستفاده
با
گزینههای
-w یا -h (تغییر
مقیاس).
RESAMPLINGTYPE یکی از این موارد است:
nearest -> روش Nearest-Neighbor
gaussian -> فیلتر Gaussian
hanning -> فیلتر Hanning
hamming -> فیلتر Hamming
bilinear -> فیلتر Bilinear (پیشفرض)
welsh -> فیلتر Welsh
bicubic -> فیلتر Bicubic
lanczos2 -> فیلتر Lanczos-2
lanczos3 -> فیلتر Lanczos-3
lanczos4 -> فیلتر Lanczos-4 - -q QUALITYMODE, --quality=QUALITYMODE
- انتخاب
کیفیت
کوانتش رنگ
(color quantization).
QUALITYMODE یکی از این موارد است:
auto -> تعیین خودکار حالت کیفیت (پیشفرض)
high -> حالت کیفیت بالا و سرعت پایین
low -> حالت کیفیت پایین و سرعت بالا
full -> حالت باکیفیت و سرعت دقیق - -l LOOPMODE, --loop-control=LOOPMODE
- انتخاب
حالت کنترل
تکرار (loop)
برای
پویانمایی
GIF.
auto -> رعایت تنظیمات سرآیند GIF (پیشفرض)
force -> همیشه فعال کردن تکرار
disable -> همیشه غیرفعال کردن تکرار.TP 5 -t PALETTETYPE, --palette-type=PALETTETYPE انتخاب نوع فضای رنگی پالت.
auto -> انتخاب نوع پالت بهصورت خودکار (پیشفرض)
hls -> استفاده از فضای رنگی HLS
rgb -> استفاده از فضای رنگی RGB - -b BUILTINPALETTE, --builtin-palette=BUILTINPALETTE
- انتخاب نوع
پالت توکار
xterm16 -> نگاشت ۱۶ رنگ پیشفرض X
xterm256 -> نگاشت ۲۵۶ رنگ پیشفرض X
vt340mono -> نگاشت تکرنگ VT340
vt340color -> نگاشت رنگی VT340 - -E ENCODEPOLICY, --encode-policy=ENCODEPOLICY
- انتخاب
سیاست
کدگذاری
auto -> انتخاب خودکار سیاست کدگذاری (پیشفرض)
fast -> کدگذاری در سریعترین زمان ممکن
size -> کدگذاری به کوچکترین دنباله sixel ممکن - -B BGCOLOR, --bgcolor=BGCOLOR
-
تعیین رنگ پسزمینه
BGCOLOR با نحو زیر مشخص میشود:
#rgb
#rrggbb
#rrrgggbbb
#rrrrggggbbbb
rgb:r/g/b
rgb:rr/gg/bb
rgb:rrr/ggg/bbb
rgb:rrrr/gggg/bbbb - -P, --penetrate
- گذر از GNU Screen با استفاده از توالی عبور مستقیم (pass-through) DCS.
- -D, --pipe-mode
- [[منسوخشده]] خواندن پیوسته تصاویر مبدأ از stdin.
- -v, --verbose
- نمایش اطلاعات اشکالزدایی.
- -V, --version
- نمایش اطلاعات نسخه و مجوز انتشار.
- -H, --help
- نمایش راهنما.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
img2sixel گزینههای خط فرمان زیر را دارد:
- SIXEL_BGCOLOR
-
تعیین رنگ پسزمینه.
توسط گزینه -B (--bgcolor) لغو میشود.
با نحو زیر مشخص میشود:
#rgb
#rrggbb
#rrrgggbbb
#rrrrggggbbbb
rgb:r/g/b
rgb:rr/gg/bb
rgb:rrr/ggg/bbb
rgb:rrrr/gggg/bbbb
- SIXEL_NCOLORS
-
تعیین تعداد رنگها برای کاهش رنگهای تصویر (پیشفرض=۲۵۶).
توسط گزینه -p (--colors) لغو میشود.
بارگذارندههای تصویر (IMAGE LOADERS)
img2sixel شامل دو یا چند مؤلفه رمزگشای تصویر است.
- stb_image
-
libsixel شامل stb_image است، یک بارگذارنده تصویر در مالکیت عمومی (public domain).
img2sixel از آن بهعنوان رمزگشای توکار پیشفرض تصویر استفاده میکند. این مؤلفه میتواند تقریباً تمام تصاویر را رمزگشایی کند، اما تعداد اندکی از تصاویر به دلیل محدودیتهای آن قابل رمزگشایی نیستند.قالبهای مبدأ پشتیبانیشده:
JPEG baseline و progressive (عدم پشتیبانی از 12 bpc/کدگذاری حسابی، مشابه کتابخانه پیشفرض IJG)
PNG بهصورت ۱/۲/۴/۸/۱۶ بیت بر کانال
TGA (مشخص نیست کدام زیرمجموعه، در صورت وجود زیرمجموعه)
BMP غیر 1bpp، غیر RLE
PSD (فقط نمای ترکیبی، بدون کانالهای اضافی)
PIC (Softimage PIC)
PNM (فقط PPM و PGM دودویی)محدودیتها:
عدم پشتیبانی از JPEG با ۱۲ بیت در هر کانال
عدم پشتیبانی از JPEG با کدگذاری حسابی (arithmetic) / JPEG 2000
عدم پشتیبانی از BMP تکبیتی (1-bit) - libpng
-
اگر کتابخانه libpng در زمان کامپایل پیوند داده شده باشد، img2sixel از آن برای رمزگشایی تصویر PNG استفاده میکند. - libjpeg
-
اگر کتابخانه libjpeg در زمان کامپایل پیوند داده شده باشد، img2sixel از آن برای رمزگشایی تصویر JPEG استفاده میکند. - gdk-pixbuf2
-
اگر کتابخانه gdk-pixbuf2 در زمان کامپایل پیوند داده شده باشد، img2sixel در برخی موارد بهطور خودکار از آن استفاده میکند. - GD
-
اگر کتابخانه GD در زمان کامپایل پیوند داده شده باشد، img2sixel در برخی موارد بهطور خودکار از آن استفاده میکند. - libsixel
-
img2sixel میتواند SIXEL را بهعنوان قالب تصویر مبدأ بارگذاری کند، زیرا از libsixel بهعنوان رمزگشای تصویر SIXEL استفاده میکند..SH "تاریخچه (HISTORY)"کدگذارهای پیشین SIXEL (مانند ppmtosixel) عمدتاً برای چاپگرهای سوزنی (dot-matrix) طراحی شده بودند. آنها میزان مسافت حرکت هد چاپگر را به حداقل میرساندند. اما امروزه این روش بهترین کارایی را برای نمایش دادههای sixel در شبیهسازهای ترمینال ارائه نمیدهد. دادههای SIXEL کدگذاریشده برای ترمینالهای VT-2xx/VT-3xx در Usenet دهه ۱۹۸۰ یافت شدند، اما به نظر میرسد فناوری نحوه ایجاد آنها از بین رفته باشد.
kmiya's sixel (kmiya، ۲۰۱۴) روش کدگذاری کارآمدی را معرفی میکند که برای شبیهسازهای ترمینال بازطراحی شده است تا سربار انتقال SIXEL را با حفظ سازگاری با ترمینالهای پیشین SIXEL بهینهسازی کند. اکنون libsixel و کدگذار sixel متعلق به ImageMagick از آن پیروی میکنند.
Araki Ken، که به عنوان نگهدارندهی mlterm شناخته میشود، روشی را برای کدگذاری فشردهتر SIXEL پیشنهاد داد. اکنون libsixel آن روش را به کار گرفته است. Araki Ken نحوه تولید SIXEL با کیفیت بالا را شرح میدهد.
ببینید: http://mlterm.sourceforge.net/libsixel.pdf (به زبان ژاپنی).
همچنین ببینید (SEE ALSO)
sixel(5) sixel2png(1)
نویسندگان (AUTHORS)
نگهداری img2sixel بر عهده Hayaki Saito است. ما کل کد stb_image v2.12، نوشتهشده توسط Sean Barrett و مشارکتکنندگان آن را برای بارگذاری تصاویر گوناگون، و بخشهایی از کد pnmquant.c (netpbm library) را برای کوانتیزاسیون تصویر وارد کردهایم.
کپیرایت و تکثیر (COPYRIGHT)
Copyright (c) 2014-2016 Hayaki Saito
بدینوسیله به هر شخصی که نسخهای از این نرمافزار و پروندههای مستندات مرتبط («نرمافزار») را دریافت میکند، به رایگان اجازه داده میشود که بدون هیچ محدودیتی با نرمافزار رفتار کند، از جمله بدون محدودیت، حقوق استفاده، کپی، تغییر، ادغام، انتشار، توزیع، اعطای مجوز فرعی و/یا فروش نسخههای نرمافزار، و اجازه دادن به افرادی که نرمافزار در اختیار آنها قرار میگیرد تا با رعایت شرایط زیر چنین کنند:
اعلان حق نشر بالا و این اعلان مجوز باید در تمام نسخهها یا بخشهای عمده نرمافزار گنجانده شود.
این نرمافزار «همانگونه که هست»، بدون هیچگونه ضمانت صریح یا ضمنی، شامل اما نه محدود به ضمانتهای تجاری بودن، مناسب بودن برای یک هدف خاص و عدم نقض حق دیگران ارائه میشود. در هیچ حالتی نویسندگان یا دارندگان حق نشر در قبال هرگونه ادعا، خسارت یا مسئولیت دیگر، خواه در یک دعوای قراردادی، شبهجرم یا غیر آن، که ناشی از یا در ارتباط با نرمافزار یا استفاده از آن یا سایر تعاملات با نرمافزار باشد، مسئولیتی نخواهند داشت.
تشکر و قدردانی (THANKS)
این
نرمافزار
از
پیادهسازیهای
زیر مشتق
شده است.
- stb_image-v2.12
- این
نرمافزار
شامل stb_image-v2.12 (stb_image.h)
است، یک
خوانندهی
JPEG/PNG در مالکیت
عمومی (public domain).
https://github.com/nothings/stb - pnmquant.c (netpbm library)
- پیادهسازی
الگوریتم median
cut برای
کوانتیزاسیون
رنگ در quant.c از
pnmcolormap موجود
در netpbm library وارد
شده است.
http://netpbm.sourceforge.net
pnmcolormap از ppmquant مشتق شده که در اصل توسط Jef Poskanzer نوشته شده است.
Copyright (C) 1989, 1991 by Jef Poskanzer.
Copyright (C) 2001 by Bryan Henderson.
بدینوسیله مجوز استفاده، کپی، تغییر و توزیع این نرمافزار و مستندات آن برای هر مقصودی و بدون پرداخت هزینه اعطا میشود، مشروط بر اینکه اطلاعیه حق نشر بالا در تمامی نسخهها ذکر شود و هر دوی آن اطلاعیه حق نشر و این اطلاعیه مجوز در مستندات پشتیبان قید گردند. این نرمافزار «همانگونه که هست» بدون هرگونه ضمانت صریح یا ضمنی ارائه میشود. - sixel 2014-3-2
-
بخشهایی از converters/loader.c از نسخه اصلی «sixel» اثر kmiya (2014-3-2) مشتق شده است.
http://nanno.dip.jp/softlib/man/rlogin/sixel.tar.gz
این بخش توسط kmiya@culti نوشته شده است.
او آن را تحت مجوزی بسیار آسانگیر توزیع میکند که استفاده، کپی، تغییر، بازتوزیع و تمامی فعالیتهای عمومی دیگر را بدون هرگونه محدودیتی مجاز میداند.
او اعلام کرده است که این مجوز با MIT/BSD/GPL سازگار است.
مراجع (REFERENCES)
- resize.c (ImageMagick)
-
ما چند فیلتر نمونهبرداری مجدد (resampling) را با ارجاع به مجموعهی فیلترهای resize.c در MagickCore اضافه کردهایم.
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> Henri Salo (@fgeek) hongxu (@HongxuChen) pwd (@YourButterfly) Nicholas Luedtke (@nluedtke) cool-tomato (@cool-tomato)
- •
-
گزارشهای باگ، اصلاحات و بهبودها را به saitoha@me.com ارسال کنید.
| Aug 2016 | 4th Berkeley Distribution |