Pnmmontage User Manual(0) Pnmmontage User Manual(0)

pnmmontage - ایجاد یک تصویر مونتاژ از تصاویر PNM

pnmmontage

[-header=headerfile]

[-quality=n]

[-prefix=prefix]

[-0|-1|-2|...|-9]

[-data=filename]

pnmfile...

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

دستور pnmmontage تصاویری با ابعاد گوناگون را در یک تصویر ترکیبی با کمترین مساحت بسته‌بندی (pack) می‌کند.

بخش‌هایی از خروجی که تصویری نمی‌تواند در آن‌ها قرار گیرد به رنگ سیاه درمی‌آیند.

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

این گزینه باعث می‌شود pnmmontage فایلی بنویسد که موقعیت تصاویر اصلی در تصویر بسته‌بندی‌شده را در قالبی ماشین‌خوان شرح می‌دهد. در اینجا یک نمونه آمده است:
<span style="font-family: monospace">
            :0:0:227:298
            ../image1.ppm:0:0:227:149
            ../image2.ppm:0:149:227:149
</span>

برای هر تصویر سازنده یک خط و برای تصویر مرکب نیز یک خط وجود دارد.

۵ فیلد در هر خط به شرح زیر هستند:

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

    این گزینه در Netpbm 10.6 (ژوئیه ۲۰۰۲) اضافه شد.

به pnmmontage می‌گوید که یک فایل هدر زبان C شامل موقعیت‌های تصاویر اصلی در تصویر بسته‌بندی‌شده بنویسد. هر تصویر اصلی چهار تعریف #define در فایل بسته‌بندی‌شده ایجاد می‌کند: xxxX، xxxY، xxxSZX و xxxSZY، که در آن xxx نام فایل است که تماماً به حروف بزرگ تبدیل شده است. خروجی همچنین شامل تعاریف #define با نام‌های OVERALLX و OVERALLY است که اندازه کلی تصویر مونتاژ را مشخص می‌کنند.

یک نمونه در اینجا آمده است:


            #define OVERALLX 227
            #define OVERALLY 298
            
            #define X 0
            #define Y 0
            #define SZX 227
            #define SZY 149
            
            #define X 0
            #define Y 149
            #define SZX 227
            #define SZY 149
به pnmmontage دستور می‌دهد تا از پیشوند مشخص‌شده روی تمام تعاریف #define که تولید می‌کند استفاده کند.
پیش از تلاش برای چیدن تصاویر فرعی، pnmmontage حداقل مساحت ممکن برای مونتاژ را محاسبه می‌کند؛ این مقدار یا مجموع مساحت تمام تصاویر فرعی است، یا حاصل‌ضرب عرض عریض‌ترین تصویر فرعی در ارتفاع بلندترین تصویر فرعی، هر کدام که بزرگ‌تر باشد. سپس pnmmontage یک جستجوی فضای مسئله را برای یافتن بهترین چینش آغاز می‌کند؛ اگر راه‌حلی بیابد که (حداقل) به خوبیِ مساحت حداقلی ضربدر مقدار کیفیت (به صورت درصد) باشد، از جستجو خارج می‌شود. بنابراین، -quality=100 بهترین راه‌حل ممکن را پیدا خواهد کرد؛ با این حال، ممکن است زمان بسیار زیادی طول بکشد. مقدار پیش‌فرض -quality=200 است.
-0, -1, ... -9
این گزینه‌ها کیفیت را در سطحی بالاتر از -quality کنترل می‌کنند؛ -0 بدترین کیفیت است (اولین راه‌حل یافت‌شده را انتخاب می‌کند)، در حالی که -9 بهترین کیفیت است (یک جستجوی جامع در فضای مسئله برای بهترین چینش مطلق انجام می‌دهد). هرچه عدد بزرگ‌تر باشد، محاسبات کندتر خواهد بود. مقدار پیش‌فرض -5 است.

استفاده از گزینه -9 روی تمام مجموعه‌های تصاویر به جز کوچک‌ترین آنها بسیار کند است.

چیدمان با حداقل مساحت اغلب شکل مناسبی ندارد. برای نمونه، ممکن است یک ستون بلند و باریک از تصاویر باشد، در حالی که شما ترجیح می‌دهید شکلی مربعی‌تر داشته باشید. برای تحمیل حداقل عرض یا ارتفاع، می‌توانید یک تصویر پایه (strut image) اضافه کنید - تصویری سیاه به آن عرض و با ارتفاع یک پیکسل. به همین ترتیب، می‌توانید از یک strut عمودی برای اعمال حداقل ارتفاع استفاده کنید.

pamcat(1), pnmindex(1), pnm(1), pam(1), pbm(1), pgm(1), ppm(1)

دستور pnmmontage در Netpbm 9.10 (ژانویه ۲۰۰۱) اضافه شد.

حق نشر (C) ۲۰۰۰ متعلق به Ben Olmstead است.

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

http://netpbm.sourceforge.net/doc/pnmmontage.html
22 November 2012 netpbm documentation