Pnmshear User Manual(0) Pnmshear User Manual(0)

pnmshear - کج کردن یک تصویر PNM با زاویه مشخص

pnmshear

[-noantialias] [-background=color] angle [pnmfile]

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

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

دستور pnmshear یک تصویر PNM را به عنوان ورودی می‌خواند، آن را با زاویه مشخص‌شده کج (shear) می‌کند و یک تصویر PNM به عنوان خروجی تولید می‌نماید. اگر فایل ورودی رنگی باشد، خروجی نیز رنگی خواهد بود؛ در غیر این صورت مقیاس خاکستری خواهد بود. زاویه بر حسب درجه (نقطه شناور یا اعشاری) مشخص می‌شود و بیانگر این مفهوم است:

+-------+  +-------+
|       |  |\       \
|  OLD  |  | \  NEW  \
|       |  |an\       \
+-------+  |gle+-------+

اگر زاویه منفی باشد، تصویر در جهت دیگر کج می‌شود:

+-------+  |-an+-------+
|       |  |gl/       /
|  OLD  |  |e/  NEW  /
|       |  |/       /
+-------+  +-------+

زاویه نباید بیش از حد به ۹۰ یا ۹۰- درجه نزدیک باشد، در غیر این صورت عرض تصویر حاصل به طرز نامعقولی بزرگ خواهد شد. در واقع، اگر خیلی نزدیک شود، عرض تصویر به اندازه‌ای بزرگ می‌شود که pnmshear قادر به انجام محاسبات در اندازه‌های کلمه (word sizes) مورد استفاده نخواهد بود و برنامه این مسئله را تشخیص داده و با خطا متوقف می‌شود.

دستور pnmshear عملیات کج‌کردن را با پیمایش روی پیکسل‌های مبدا و توزیع کسرهایی از آن‌ها به هر یک از پیکسل‌های مقصد انجام می‌دهد. این امر دارای اثر «ضد پلگی» (anti-aliasing) است؛ یعنی از لبه‌های دندانه‌دار و اعوجاج‌های مشابه جلوگیری می‌کند. با این حال، به این معنا نیز هست که رنگ‌های اصلی تصویر تغییر می‌یابند و معمولاً تعداد رنگ‌ها بیشتر از مقدار اولیه می‌شود. اگر لازم است دقیقاً همان مجموعه رنگ‌های اولیه را حفظ کنید، به گزینه -noantialias مراجعه نمایید. اگر افزایش تعداد رنگ‌های پالت مشکلی ایجاد می‌کند، می‌توانید خروجی را از طریق pnmquant پردازش کنید.

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

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

رنگ (color) را همان‌طور که برای آرگومان تابع کتابخانه‌ای pnm_parsecolor() توصیف شده مشخص کنید.

به‌طور پیش‌فرض، اگر این گزینه را مشخص نکنید، pnmshear رنگی را انتخاب می‌کند که به نظرش رنگ پس‌زمینه تصویر اصلی است. برنامه این رنگ را به شکلی نسبتاً ساده، با محاسبه میانگین رنگ‌های دو گوشه بالای تصویر تعیین می‌کند.

این گزینه در Netpbm 10.37 (دسامبر ۲۰۰۶) اضافه شد. پیش از آن، pnmshear همواره رفتاری مشابه حالت پیش‌فرض کنونی داشت.

این گزینه pnmshear را وادار می‌کند تا صرفاً پیکسل‌ها را جابه‌جا کند، به‌جای اینکه پیکسل‌های خروجی را از ترکیب چند پیکسل ورودی تولید نماید. روش دوم ممکن است باعث شود خروجی حاوی رنگ‌هایی باشد که در ورودی وجود نداشتند که این امر شاید مطلوب نباشد. همچنین احتمالاً باعث می‌شود خروجی دارای تعداد زیادی رنگ باشد. اگر به تعداد کمی رنگ نیاز دارید، اما اهمیتی ندارد که دقیقاً همان رنگ‌های ورودی باشند، به‌جای استفاده از -noantialias، می‌توانید خروجی را به pnmquant ارسال کنید.

توجه داشته باشید برای اطمینان از اینکه خروجی شامل رنگ‌هایی غیر از رنگ‌های ورودی نباشد، باید رنگ پس‌زمینه را نیز مد نظر قرار دهید. به گزینه -background مراجعه کنید.

pnmrotate(1), pamflip(1), pamhomography(1), pnmquant(1), pamrestack(1), pnm(1)

حق نشر ۱۹۸۹، ۱۹۹۱ توسط Jef Poskanzer.

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

http://netpbm.sourceforge.net/doc/pnmshear.html
22 March 2020 netpbm documentation