Pamcat User Manual(0) Pamcat User Manual(0)

pamcat - اتصال و الحاق تصاویر فرمت Netpbm (PAM/PNM) به صورت افقی یا عمودی

pamcat

{-leftright | -lr | -topbottom | -tb}

[-white|-black]

[-jtop|-jbottom|-jcenter] [-jleft|-jright|-jcenter]

[netpbmfile ... | -listfile={filename|-}]

حداقل مخفف یکتا برای گزینه‌ها پذیرفته می‌شود. می‌توانید به جای یک خط تیره از دو خط تیره برای مشخص کردن گزینه‌ها استفاده کنید. همچنین می‌توانید به جای علامت مساوی، از فاصله خالی برای جدا کردن نام گزینه از مقدار آن استفاده نمایید.

این برنامه بخشی از Netpbm(1) است.

دستور pamcat یک یا چند تصویر Netpbm را به عنوان ورودی خوانده، آن‌ها را به صورت چپ به راست یا بالا به پایین به یکدیگر متصل کرده و یک تصویر Netpbm واحد را در خروجی تولید می‌کند.

گزینه‌های -leftright و -topbottom جهت اتصال و چسباندن تصاویر را تعیین می‌کنند.

تصاویر ورودی نیازی نیست که ابعاد یکسانی داشته باشند: می‌توانید تصاویر با عرض‌های متفاوت را به صورت بالا به پایین و تصاویر با ارتفاع‌های متفاوت را به صورت چپ به راست به هم متصل کنید. همچنین می‌توانید تصاویری با عمق‌های متفاوت (تعداد لایه‌ها) را به یکدیگر پیوند دهید؛ برای نمونه اتصال یک تصویر PBM به یک تصویر PPM و مواردی از این دست.

فرمت تصویر خروجی بالاترین فرمت در میان تصاویر ورودی بر اساس ترتیب PBM، PGM، PPM و PAM خواهد بود.

در خروجی PAM، اگر تمامی تصاویر ورودی نوع تاپل (tuple type) یکسانی داشته باشند (شامل انواع تاپل ضمنی تصاویر PNM)، خروجی نیز با همان نوع تاپل تولید می‌شود. اگر ورودی‌ها متفاوت باشند اما همگی از انواع بصری باشند، نوع تاپل خروجی پایه‌ای‌ترین نوعی خواهد بود که می‌تواند تمام ورودی‌ها را نمایش دهد. برای مثال، اگر ورودی‌ها GRAYSCALE و RGB باشند، خروجی RGB خواهد بود؛ و اگر ورودی‌ها GRAYSCALE_ALPHA و RGB باشند، خروجی RGB_ALPHA خواهد بود. چنانچه ورودی‌ها با هم تفاوت داشته و همگی بصری نباشند، نوع تاپل خروجی یک رشته تهی (null) خواهد بود.

هنگامی که خروجی PAM است، عمق آن برابر با بیشترین عمق در میان تصاویر ورودی (شامل عمق‌های ضمنی تصاویر PNM) خواهد بود، اما دست‌کم به اندازه‌ای است که بتواند نوع تاپل مشخص‌شده در بالا را نمایش دهد. در حالت خروجی PAM غیربصری، تصاویر ورودی با افزودن لایه‌های شماره بالاتر که همگی صفر هستند، تا رسیدن به این عمق خروجی پر (pad) می‌شوند.

در صورتی که تصاویر ورودی عرض‌های متفاوتی داشته باشند و آن‌ها را به صورت بالا به پایین متصل کنید، pamcat خروجی را به پهنای عریض‌ترین تصویر ورودی تولید کرده و تصاویر باریک‌تر را با فضای خالی پر می‌کند. تصاویر را می‌توان درون این کادر پرشده به سمت چپ، راست یا وسط تراز کرد. برای کنترل این رفتار از گزینه‌های -jleft، -jright و -jcenter استفاده کنید.

به طور مشابه، چنانچه تصاویر ورودی ارتفاع‌های متفاوتی داشته باشند و آن‌ها را از چپ به راست متصل کنید، pamcat خروجی را به بلندی بلندترین تصویر ورودی ایجاد کرده و تصاویر کوتاه‌تر را با فضای خالی پر می‌کند. تصاویر را می‌توان درون این محدوده به سمت بالا، پایین یا وسط تراز کرد. برای کنترل این چینش از گزینه‌های -jtop، -jbottom و -jcenter استفاده کنید.

شما می‌توانید رنگ این حاشیه پرکننده (padding) را سیاه یا سفید تعیین کنید یا اجازه دهید pamcat رنگ پس‌زمینه محتمل را تشخیص دهد، که ممکن است برای هر تصویر ورودی رنگ پرکننده متفاوتی انتخاب شود. این مورد با گزینه‌های -black و -white کنترل می‌شود.

در صورتی که تصویر خروجی شامل اطلاعات شفافیت (کانال آلفا) باشد (به این دلیل که حداقل یکی از تصاویر ورودی دارای شفافیت است)، بخش‌های پرکننده به صورت کدر (opaque) خواهند بود. (این رفتار با نتیجه تصویر خروجی بدون اطلاعات شفافیت سازگار است، زیرا چنین تصویری به طور پیش‌فرض کدر تعریف می‌شود).

آرگومان‌ها نام فایل‌های ورودی هستند. هر یک از این‌ها (اما نه بیش از یکی) می‌تواند "-" باشد تا نشان‌دهنده ورودی استاندارد (Standard Input) باشد. اگر هیچ آرگومانی ارائه ندهید (و گزینه -listfile را نیز مشخص نکنید)، به معنای یک تصویر ورودی تکی از ورودی استاندارد است (که بی‌معنی و بی‌فایده است - خروجی دقیقاً همانند ورودی خواهد بود). می‌توانید نام فایل‌ها را به جای آرگومان، درون یک فایل قرار داده و با گزینه -listfile مشخص کنید.

صرف‌نظر از نحوه مشخص کردن فایل‌های ورودی، نمی‌توانید تعداد فایل‌هایی بیش از محدودیت سیستم در باز کردن هم‌زمان فایل‌ها توسط یک فرایند را متصل کنید. معمولاً عدد ۱۶ یک مقدار متداول برای این محدودیت است.

برای کنار هم چیدن شبکه‌ای و منظم تصاویر، می‌توانید از pamundice استفاده کنید.

برای انجام عمل معکوس، می‌توانید از pamdice جهت تقسیم یک تصویر به تصاویر کوچک‌تر هم‌اندازه، یا از pamcut جهت بریدن بخشی از تصویر یا استخراج قسمتی از آن استفاده نمایید.

دستور pnmtile یک تصویر ورودی واحد را بارها و پشت سر هم در کنار خود تکرار و متصل می‌کند.

علاوه بر گزینه‌های مشترک در تمام برنامه‌های مبتنی بر libnetpbm (به ویژه -quiet، بخش گزینه‌های عمومی را ببینید)، pamcat گزینه‌های خط فرمان زیر را می‌شناسد:

ترکیب تصاویر به صورت عمودی، از بالا به پایین.
ترکیب تصاویر به صورت افقی، از چپ به راست.

شما باید جهت را با مشخص کردن یکی از گزینه‌های بالا تعیین کنید. نمی‌توانید هر دو را مشخص نمایید.

چپ‌چین کردن تصاویر در اتصال بالا به پایین.

نمی‌توانید این گزینه را همراه با -jright مشخص کنید.

این گزینه در اتصال چپ به راست نامعتبر است.

راست‌چین کردن تصاویر در اتصال بالا به پایین.

نمی‌توانید این گزینه را همراه با -jleft مشخص کنید.

این گزینه در اتصال چپ به راست نامعتبر است.

بالاچین کردن تصاویر در اتصال چپ به راست.

نمی‌توانید این گزینه را همراه با -jbottom مشخص کنید.

این گزینه در اتصال بالا به پایین نامعتبر است.

پایین‌چین کردن تصاویر در اتصال چپ به راست.

نمی‌توانید این گزینه را همراه با -jtop مشخص کنید.

این گزینه در اتصال بالا به پایین نامعتبر است.

وسط‌چین کردن تصاویر (معتبر برای هر دو حالت اتصال چپ به راست و بالا به پایین). این حالت پیش‌فرض است.

به طور پیش‌فرض، pamcat تصاویر کوچک‌تر را در مرکز تراز می‌کند. از -jleft و -jbottom برای بازنویسی این رفتار استفاده کنید. ترکیب -topbottom -jleft تصاویر را روی یکدیگر چیده و لبه چپ آن‌ها را تراز می‌کند. ترکیب -leftright -jbottom تصاویر را از چپ به راست چیده و لبه‌های پایینی آن‌ها را طوری هم‌تراز می‌کند که گویی روی یک میز قرار گرفته‌اند.

این گزینه‌ها مشخص می‌کنند که چه رنگی برای پر کردن فضای اضافی هنگام انجام تراز استفاده شود. اگر هیچ‌کدام مشخص نشود، pamcat رنگی را که برای تصاویر مناسب‌تر به نظر می‌رسد انتخاب می‌کند و این رنگ ممکن است برای هر تصویر متفاوت باشد.

تمامی حاشیه‌های پرکننده را سفید می‌کند.

نمی‌توانید این گزینه را همراه با -black مشخص کنید.

تمامی حاشیه‌های پرکننده را سیاه می‌کند.

نمی‌توانید این گزینه را همراه با -white مشخص کنید.

این گزینه نام فایلی را مشخص می‌کند که شامل فهرست فایل‌های ورودی است. مقدار - به این معناست که فهرست از ورودی استاندارد خوانده می‌شود.

فایل شامل یک نام فایل در هر خط (جدا شده با خط جدید) با هر انکودینگی است که سرویس fopen سیستم انتظار دارد. می‌توانید خط جدید را در آخرین خط نادیده بگیرید (حذف کنید). خطوط خالی نادیده گرفته می‌شوند. هیچ سازوکاری برای درج توضیحات (کامنت) در فهرست وجود ندارد (بنابراین اگر می‌خواهید فهرستی حاوی توضیحات داشته باشید، پیش از ارسال آن به pamcat آن را پیش‌پردازش کرده و توضیحات را حذف کنید).

نمی‌توانید نام فایل‌ها را به عنوان آرگومان خط فرمان همراه با -listfile مشخص کنید.

شما مجاز نیستید فایل‌های بیشتری نسبت به محدودیت سیستم در تعداد فایل‌های باز هم‌زمان توسط یک فرایند فهرست کنید. عدد ۱۶ یک مقدار متداول برای آن است.

این گزینه در Netpbm 11.01 (دسامبر ۲۰۲۲) اضافه شده است.

pamundice(1), pamdice(1), pnmtile(1), pamcut(1), pnm(1), pam(1)

برنامه pamcat در Netpbm 11.00 (سپتامبر ۲۰۲۲) معرفی شد؛ در نسخه‌های قدیمی‌تر، pnmcat بیشتر همین کارها را انجام می‌داد.

نسخه اولیه Netpbm/Pbmplus شامل ابزارهای اتصال تصاویر بود، اما دو ابزار وجود داشت: pbmcatlr برای اتصال چپ به راست تصاویر PBM و pbmcattb برای اتصال بالا به پایین. هنگامی که فرمت‌های PGM و PPM اضافه شدند، این برنامه‌ها با یکدیگر ترکیب و گسترش یافتند تا هر سه فرمت را تحت عنوان pnmcat پشتیبانی کنند. تمام این کارها توسط نویسنده Pbmplus، جف پوزکانزر (Jef Poskanzer) انجام شد.

در Netpbm 10.44 (سپتامبر ۲۰۰۸)، آکیرا اف. اوروشیباتا (Akira F Urushibata) پردازش سریع ویژه‌ای را برای تصاویر خام PBM اضافه کرد که از قابلیت‌های پردازش رشته بیتی در CPU بهره می‌برد.

برنامه pnmcat یکی از ضروری‌ترین برنامه‌ها در Netpbm بود، اما تنها چیزی که نمی‌توانست متصل کند تصاویر PAM دارای شفافیت بود. بنابراین در Netpbm 11.00 (سپتامبر ۲۰۲۲)، برایان هندرسون (Bryan Henderson) برنامه pamcat را برای جایگزینی آن نوشت. این برنامه از کد مسیر سریع تصاویر خام PBM از pnmcat تقریباً کلمه به کلمه مجدداً استفاده کرد.

این صفحه راهنما توسط ابزار Netpbm با نام 'makeman' از منبع HTML تولید شده است. مستندات مرجع در نشانی زیر قرار دارد:

http://netpbm.sourceforge.net/doc/pamcat.html
30 November 2022 netpbm documentation