Ppmtoilbm User Manual(0) Ppmtoilbm User Manual(0)

ppmtoilbm - تبدیل یک تصویر PPM به یک پرونده ILBM

ppmtoilbm

[-maxplanes|-mp N]

[-fixplanes|-fp N]

[-ham6|-ham8]

[{-dcbits|-dcplanes} r g b]

[ -normal|-hamif|-hamforce|-24if|-24force| -dcif|-dcforce|-cmaponly ]

[-ecs|-aga]

[-compress|-nocompress]

[-cmethod type]

[-map ppmfile]

[ppmfile]

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

دستور ppmtoilbm یک تصویر PPM را به عنوان ورودی می‌خواند و یک پرونده ILBM به عنوان خروجی تولید می‌کند. ppmtoilbm انواع ILBM زیر را شناسایی و پشتیبانی می‌کند:

  • پرونده‌های ILBM عادی با ۱ تا ۱۶ صفحه (plane)
  • فرمت HAM آمیگا با ۳ تا ۱۶ صفحه
  • ۲۴ بیتی (24 bit)
  • جدول رنگ (فقط چانک‌های BMHD + CMAP، با مقدار nPlanes = 0)
  • رنگ مستقیم (direct color) غیررسمی؛ ۱ تا ۱۶ صفحه برای هر مؤلفه رنگ.

چانک‌های نوشته‌شده: BMHD، CMAP، CAMG (فقط برای HAM)، BODY (برای پرونده‌های جدول رنگ نوشته نمی‌شود)، و چانک غیررسمی DCOL برای ILBM رنگ مستقیم.

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

گزینه‌های مشخص‌شده با (*) می‌توانند پیشوند «no» بگیرند، مانند «-nohamif». تمام گزینه‌ها را می‌توان به کوتاه‌ترین پیشوند یکتای آن‌ها خلاصه کرد.

(پیش‌فرض ۵، حداقل ۱، حداکثر ۱۶) حداکثر تعداد صفحاتی که در یک ILBM عادی نوشته می‌شود. اگر تصویر در <n> صفحه نگنجد، ppmtoilbm یک پرونده HAM (در صورت استفاده از -hamif)، یک پرونده 24 بیتی (در صورت استفاده از -24if) یا یک پرونده رنگ مستقیم (در صورت استفاده از -dcif) می‌نویسد، یا اینکه با یک خطا متوقف می‌شود.
(حداقل ۱، حداکثر ۱۶) اگر یک ILBM عادی نوشته شود، دقیقاً دارای <n> صفحه خواهد بود.
(پیش‌فرض ۶، حداقل ۳، حداکثر ۱۶) تعداد صفحات را برای تصویر HAM تعیین می‌کند. سخت‌افزار فعلی Amiga صفحه‌های ۶ و ۸ را پشتیبانی می‌کند، بنابراین فعلاً تنها باید از این مقادیر استفاده کنید.
گزینه‌های -hamif/-24if/-dcif، -hamforce/-24force/-dcforce و -cmaponly را غیرفعال می‌کند. همچنین نوع فشرده‌سازی را به byterun1 تنظیم می‌کند.

این گزینه پیش‌فرض است.

-24if (*)
اگر تصویر در تعداد صفحات <maxplanes> نگنجد، یک پرونده HAM/24bit/رنگ مستقیم می‌نویسد.
-24force (*)
نوشتن یک پرونده HAM/24bit/رنگ مستقیم را اجبار می‌کند.
(پیش‌فرض ۵، حداقل ۱، حداکثر ۱۶). تعداد بیت‌ها برای رنگ‌های قرمز، سبز و آبی در یک ILBM رنگ مستقیم را تعیین می‌کند.
میانبری برای: -hamplanes 6 -maxplanes 5

این گزینه پیش‌فرض است.

میانبری برای: -hamplanes 8 -maxplanes 8
میانبری برای: -hamplanes 6 -hamforce
میانبری برای: -hamplanes 8 -hamforce
این گزینه پیش‌فرض است. چانک BODY را فشرده می‌کند. روش فشرده‌سازی پیش‌فرض byterun1 است. فشرده‌سازی مستلزم ایجاد تصویر ILBM در حافظه است؛ خاموش کردن فشرده‌سازی امکان نوشتن تصویر به صورت جریانی (stream) را فراهم می‌کند، اما پرونده حاصل معمولاً ۳۰٪ تا ۵۰٪ بزرگ‌تر خواهد بود. گزینه جایگزین دیگر -savemem است که مصرف حافظه را برای فشرده‌سازی در حداقل نگه می‌دارد، اما بسیار کند است.
این گزینه عملکردی مشابه با -compress دارد.
یک ILBM عادی با استفاده از رنگ‌های موجود در <ppmfile> به عنوان جدول رنگ (colormap) می‌نویسد. پرونده جدول رنگ همچنین تعداد صفحات را مشخص می‌کند؛ گزینه‌های -maxplanes و -fixplanes نادیده گرفته می‌شوند.
یک پرونده جدول رنگ می‌نویسد: تنها چانک‌های BMHD و CMAP، بدون چانک BODY، و مقدار nPlanes = 0.
گزینه -compress را ببینید.

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

Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) Addison Wesley, ISBN 0-201-56775-X

ppm(1)، ilbmtoppm(1)

برای حدود یک سال در ۱۹۹۳-۱۹۹۴، گزینه‌ای به نام -savemem وجود داشت.

پیش‌تر گزینه‌ای به نام -floyd (معروف به -fs) وجود داشت که قرار بود تصویر را ترام‌ریزی (dither) کند تا تعداد بیشتری رنگ در ورودی PPM بتواند با تعداد کمتری رنگ در خروجی ILBM نمایش داده شود. اما این گزینه هرگز مستندسازی نشد. علاوه بر این، توسعه‌دهندگان در ژانویه ۲۰۲۲ دریافتند که کد این بخش به دلیل نقص‌های فنی کار نمی‌کرده و برای مدت بسیار طولانی، و شاید از ابتدا، خراب بوده است. در نهایت، چنین عملکردی در فلسفه Netpbm جایگاهی ندارد، زیرا عمل ترام‌ریزی باید توسط یک برنامه مجزا انجام شود، نه یک برنامه تبدیل قالب. در واقع، برنامه‌های ppmdither، pnmquant و pnmremap می‌توانند این وظیفه را انجام دهند.

بنابراین، از نسخه Netpbm 10.98 (مارس ۲۰۲۲)، کد ترام‌ریزی از برنامه حذف شده است و هرگونه تلاش برای استفاده از این گزینه‌ها با یک خطای ساده مبنی بر نامعتبر بودن گزینه متوقف می‌شود. اما گزینه‌های -nofloyd و -nofs باقی مانده‌اند و همان‌طور که طراحی شده بودند هیچ کاری انجام نمی‌دهند و هنوز هم مستند نشده‌اند. نگهداری آن‌ها صرفاً برای شرایطی است که برنامه‌ای همچنان از آن‌ها استفاده کند، زیرا هزینه نگهداری آن‌ها بسیار ناچیز است.

حق نشر (C) ۱۹۸۹ توسط Jef Poskanzer.

بازبینی‌شده در اکتبر ۱۹۹۳ توسط Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)

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

http://netpbm.sourceforge.net/doc/ppmtoilbm.html
15 January 2022 netpbm documentation