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 -> حفظ نسبت ابعاد (پیش‌فرض) % -> مقیاس‌بندی عرض با درصد مشخص‌شده -> مقیاس‌بندی عرض با تعداد پیکسل px -> مقیاس‌بندی عرض با تعداد پیکسل -h HEIGHT, --height=HEIGHT تغییر اندازه تصویر به ارتفاع مشخص‌شده. HEIGHT با ساختار دستوری زیر مشخص می‌شود: auto -> حفظ نسبت ابعاد (پیش‌فرض) % -> مقیاس‌بندی ارتفاع با درصد مشخص‌شده -> مقیاس‌بندی ارتفاع با تعداد پیکسل 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 Yusuke Endoh mattn Akinori Hattori Øyvind Kolås Henri Salo (@fgeek) hongxu (@HongxuChen) pwd (@YourButterfly) Nicholas Luedtke (@nluedtke) cool-tomato (@cool-tomato) • گزارش‌های باگ، اصلاحات و بهبودها را به saitoha@me.com ارسال کنید. 4th Berkeley Distribution Aug 2016 IMG2SIXEL(1)