.TH jp2a 1 "September 22, 2024" "version 1.3.0" "USER COMMANDS"
.SH "نام (NAME)"
jp2a \- تبدیل تصاویر JPEG، PNG و WebP به اسکی (ASCII)
.SH "خلاصه دستور (SYNOPSIS)"
.B jp2a
[
.I options
] [
.I filename(s) | URL(s)
]
.LP
.SH "توضیحات (DESCRIPTION)"
دستور
.B jp2a
تصاویر JPEG، PNG و WebP را به نویسههای ASCII تبدیل میکند. میتوانید ترکیبی از فایلها و URLها را مشخص کنید.
.SH "گزینهها (OPTIONS)"
.TP
.BI \-
خواندن تصویر JPEG، PNG و WebP از ورودی استاندارد
.TP
.B \-\-background=light \-\-background=dark
اگر نمیخواهید مدام با \-\-invert سر و کار داشته باشید، کافی است به جای آن از این گزینهها استفاده کنید.
اگر از نویسههای سفید روی نمایشگر تیره استفاده میکنید، از \-\-background=dark استفاده کنید،
و برعکس.
.TP
.B \-b \-\-border
قراردادن تصویر خروجی در یک کادر (حاشیه)
.TP
.BI \-\-chars= ...
استفاده از نویسههای دادهشده هنگام تولید تصویر خروجی ASCII. پیشفرض " ...',;:clodxkO0KXNWM" است.
.TP
.BI \-\-colors
استفاده از رنگ واقعی (truecolor) (یا در صورت عدم پشتیبانی از truecolor، رنگ ANSI) برای خروجی متنی، و رنگ CSS برای خروجی HTML.
.TP
.BI \-\-color\-depth= ...
استفاده از یک عمق رنگ (color-depth) مشخص برای خروجی ترمینال. مقادیر معتبر عبارتند از: 4 (برای ANSI)، 8 (برای پالت ۲۵۶ رنگ) و 24 (برای truecolor یا رنگ ۲۴ بیتی).
.TP
.B \-d \-\-debug
چاپ اطلاعات اشکالزدایی هنگام استفاده از libcurl برای بارگیری تصاویر از اینترنت.
.TP
.B \-f \-\-term\-fit
استفاده از بزرگترین ابعادی که تصویر را در صفحه نمایش ترمینال شما جا دهد.
.TP
.B \-\-term\-height
استفاده از ارتفاع صفحه نمایش ترمینال و محاسبه عرض بر اساس نسبت تصویر (aspect ratio).
.TP
.B \-\-term\-width
استفاده از عرض صفحه نمایش ترمینال و محاسبه ارتفاع بر اساس نسبت تصویر.
.TP
.B \-z \-\-term\-zoom
استفاده همزمان از عرض و ارتفاع صفحه نمایش ترمینال.
.TP
.B \-c \-\-term\-center
قرار دادن تصویر در مرکز ترمینال.
.TP
.B \-\-fill
هنگامی که همراه با \-\-html و \-\-color استفاده شود، رنگ پسزمینه هر نویسه خروجی را رنگآمیزی میکند. برای نمونه،
اگر میخواهید از خروجی پرشده روی یک پسزمینه روشن استفاده کنید، این دستور را اجرا نمایید:
jp2a --color --html --html-fill --background=light somefile.jpg --output=dark.html
برای انجام همین کار روی یک پسزمینه تیره:
jp2a --color --html --html-fill --background=dark somefile.jpg --output=light.html
حالت پیشفرض غیرفعال بودن fill است.
.TP
.B \-x \-\-flipx
وارونهسازی افقی تصویر خروجی
.TP
.B \-y \-\-flipy
وارونهسازی عمودی تصویر خروجی
.TP
.BI \-\-height= N
تنظیم ارتفاع خروجی. اگر فقط \-\-height مشخص شده باشد، عرض خروجی بر اساس نسبت ابعاد تصویر منبع محاسبه خواهد شد.
.TP
.B \-h \-\-help
نمایش یک متن راهنمای کوتاه
.TP
.B \-\-grayscale
تبدیل تصویر به مقیاس خاکستری (grayscale) هنگام استفاده از \-\-html یا \-\-colors.
.TP
.B \-\-html
تولید خروجی ASCII در استاندارد دقیق XHTML 1.0. (برای نگارش 2.0.0 و بالاتر، در قالب HTML خروجی خواهد داد).
.TP
.B \-\-htmlls
تولید خروجی ASCII در قالب HTML (Living Standard)، مناسب برای مشاهده در مرورگرهای وب.
این گزینه برای ابعاد خروجی بزرگ، و زمانی که میخواهید نتیجه را در یک مرورگر با قلم کوچک بررسی کنید سودمند است.
.TP
.B \-\-xhtml
تولید خروجی ASCII در استاندارد دقیق XHTML 1.0.
.TP
.B \-\-html\-fill
مشابه \-\-fill. بهتر است به جای این، از آن گزینه استفاده کنید.
.TP
.B \-\-html\-no\-bold
عدم استفاده از متن درشت (bold) برای خروجی HTML.
.TP
.B \-\-html\-raw
خروجی دادن تصویر تنها در قالب کدهای HTML بدون بقیه بخشهای صفحه وب، تا بتوانید صفحه وب خود را بسازید. (برای نگارش 2.0.0 و بالاتر به جای
از
استفاده خواهد شد).
.TP
.BI \-\-html\-fontsize= N
تنظیم اندازه قلم هنگام استفاده از خروجی \-\-html. مقدار پیشفرض 4 است.
.TP
.BI \-\-html\-title= ...
تنظیم عنوان خروجی HTML.
.TP
.BI \-\-output=...
نوشتن خروجی ASCII در نامفایل دادهشده. برای مشخص کردن صریح خروجی استاندارد، از \-\-output=\- استفاده کنید.
.TP
.B \-i \-\-invert
معکوس کردن تصویر خروجی. اگر تصویری را با پسزمینه سفید مشاهده میکنید، اما از نمایشگری با نویسههای روشن روی پسزمینه تیره استفاده میکنید، باید تصویر را معکوس کنید.
.TP
.BI \-\-red= ...
.TP
.BI \-\-green= ...
.TP
.BI \-\-blue= ...
هنگام تبدیل از RGB به مقیاس خاکستری، از وزنهای دادهشده برای محاسبه روشنایی (luminance) استفاده میکند.
مقادیر پیشفرض عبارتند از red=0.2989، green=0.5866 و blue=0.1145.
.TP
.BI \-\-size= WIDTHxHEIGHT
تنظیم ابعاد خروجی.
.TP
.B \-v \-\-verbose
چاپ برخی اطلاعات تفصیلی در خروجی خطای استاندارد هنگام خواندن هر تصویر JPEG.
.TP
.BI \-\-width= N
تنظیم عرض خروجی. اگر تنها عرض را مشخص کنید، ارتفاع بهطور خودکار محاسبه میشود.
.TP
.B \-V \-\-version
چاپ نسخه برنامه.
.TP
.B \-\-zoom
تنظیم ابعاد خروجی بر روی تمام پنجره ترمینال شما، بدون در نظر گرفتن نسبت ابعاد تصویر منبع.
.TP
.B \-\-edge\-threshold= ...
یک شیب رنگ (gradient) تصویر را مشخص میکند که بالاتر از آن خطوط و لبهها با گلیفهای جهتدار (مانند -/|\\) سایهزنی میشوند.
مقدار مناسب برای تفکیک مناسب لبهها به تصویر بستگی دارد اما ممکن است در حدود 0.5 باشد.
.TP
.B \-\-edges-only
تنها رسم لبهها، بهطوری که تصویر حاصل مانند یک طرح خطی یا خروجی آشکارساز لبه باشد. این گزینه باید همراه با \-\-edge\-threshold استفاده شود تا لبهها رسم شوند.
.SH "وضعیت خروج (EXIT STATUS)"
دستور jp2a در صورت مواجهه با خطا مقدار 1 و در صورت نبود خطا مقدار 0 را بازمیگرداند.
.SH "مثالها (EXAMPLES)"
تبدیل و چاپ imagefile.jpg با استفاده از نویسههای ASCII در ۴۰ ستون و ۲۰ سطر:
.PP
.B jp2a
\-\-size=40x20 imagefile.jpg
.PP
بارگیری یک تصویر از اینترنت، تبدیل و چاپ آن:
.PP
.B jp2a
http://www.google.com/intl/en/logos/easter_logo.jpg
.PP
خروجی دادن picture.jpg و picture2.jpg، هر کدام با ابعاد 80x25 نویسه، با استفاده از نویسههای " ...ooxx@@" برای خروجی:
.PP
.B jp2a
\-\-size=80x25 --chars=" ...ooxx@@" picture.jpg picture2.jpg
.PP
خروجی دادن image.jpg با استفاده از ۷۶ ستون، که در آن ارتفاع بهطور خودکار از نسبت ابعاد image.jpg محاسبه میشود:
.PP
cat image.jpg |
.B jp2a
\-\-width=76 \-
.PP
اگر از jp2a همراه با convert(1) متعلق به ImageMagick استفاده کنید، میتوانید بهخوبی از لولهها (pipes) بهره ببرید و بگذارید ImageMagick انواع تبدیلها و جلوههای تصویری را روی تصویر منبع پیاده کند. برای نمونه:
.PP
.B magick
somefile.gif jpg:\- |
.B jp2a
\- \-\-width=80
.PP
گزینههای convert(1) را بررسی کنید تا ببینید چه کارهایی میتوانید انجام دهید. convert تقریباً از پس هر قالب تصویری برمیآید، بنابراین با این ترکیب میتوانید تصاویری مثل فایلهای PDF یا AVI را به ASCII تبدیل کنید.
.PP
دستور jp2a برای هر قالب تصویری به جز WebP از یک الگوریتم مقیاسپذیری بسیار ابتدایی استفاده میکند. برای دریافت کیفیت بهتر، تصویر را به WebP تبدیل کنید تا از مقیاسپذیری تعبیهشده در کتابخانه libwebp استفاده شود:
.PP
.B cwebp
\-quiet
image.jpg
\-o
\- |
.B jp2a
\-
.PP
اگرچه ساخت پیشفرض jp2a شامل بارگیری خودکار فایلهای ارائهشده با URL است، اما میتوانید آنها را صریحاً با curl(1) یا wget(1) بارگیری کنید، برای نمونه:
.PP
.B curl
\-s
http://foo.bar/image.jpg |
.B magick
\- jpg:- |
.B jp2a
\-
.PP
میتوانید گزینه \-\-edge\-threshold را برای برجستهسازی لبههای تصویر ارسال کنید، یا گزینه \-\-edges\-only را اضافه نمایید تا تنها لبهها رسم شوند و یک طرح خطی تولید شود.
.PP
.B jp2a
\-\-edge\-threshold=0.5 \-\-edges\-only imagefile.jpg
.SH "بارگیری تصاویر از اینترنت (DOWNLOADING IMAGES FROM THE NET)"
اگر jp2a را با libcurl(3) کامپایل کرده باشید، میتوانید با تعیین URLها تصاویر را بارگیری کنید:
.B jp2a
https://user:pass@foo.com/bar.jpg
پروتکلهای شناساییشده عبارتند از ftp، ftps، file، http، https و tftp.
اگر به کنترل بیشتری بر روند بارگیری نیاز دارید، باید از curl(1) یا wget(1) استفاده کنید و بگذارید jp2a تصویر را از ورودی استاندارد بخواند.
دستور jp2a برای بارگیری تصاویر با استفاده از libcurl از لوله (pipe) و fork استفاده میکند (به این معنی که هیچ فراخوانی سیستمی یا exec اجرا نمیشود) و بنابراین نگرانی از بابت URLهای مخرب وجود ندارد.
.SH "تبدیل به مقیاس خاکستری (GRAYSCALE CONVERSION)"
میتوانید کانال قرمز را با این دستور استخراج کنید:
.B jp2a
somefile.jpg --red=1.0 --green=0.0 --blue=0.0
این دستور روشنایی را بر اساس فرمول Y = R*1.0 + G*0.0 + B*0.0 محاسبه خواهد کرد. مقادیر پیشفرض استفاده از رابطه Y = R*0.2989 + G*0.5866 + B*0.1145 است.
.SH "صفحه اصلی پروژه (PROJECT HOMEPAGE)"
آخرین نگارش jp2a و اخبار آن همواره در https://github.com/Talinx/jp2a در دسترس است.
.SH "همچنین ببینید (SEE ALSO)"
cjpeg(1), djpeg(1), jpegtran(1), convert(1), cwebp(1)
.SH "گزارش باگها (BUGS)"
دستور jp2a هنگام تغییر اندازه درونیابی (interpolation) نمیکند (به جز برای تصاویر WebP). اگر کیفیت بهتری میخواهید، پیش از استفاده از jp2a تلاش کنید با استفاده از cwebp(1) تصویر را به WebP تبدیل کنید تا مقیاسپذیری صحیحی به دست آورید.
.PP
مسئله دیگر این است که jp2a برخی از پیکسلهای محور X را در امتداد هر خط پویش (scanline) نادیده میگیرد. این امر تصویر خروجی کمدقتتری ایجاد میکند و احتمالاً در نسخههای آینده برطرف خواهد شد.
.SH "نویسندگان (AUTHORS)"
Christian Stigen Larsen و Christoph Raitzig
دستور jp2a از jpeglib برای خواندن فایلهای JPEG استفاده میکند. کتابخانه jpeglib توسط The Independent JPEG Group (IJG) ساخته شده است که وبگاهی در http://www.ijg.org دارد.
دستور jp2a از libpng برای خواندن فایلهای PNG استفاده میکند. صفحه اصلی libpng: http://libpng.org/pub/png/libpng.html
دستور jp2a از libwebp برای خواندن فایلهای WebP استفاده میکند. صفحه اصلی libwebp: https://developers.google.com/speed/webp
.SH "کپیرایت و تکثیر (COPYRIGHT)"
نرمافزار jp2a تحت مجوز عمومی همگانی گنو نگارش ۲ (GNU General Public License v2) توزیع میشود.