.\" This man page was generated by the Netpbm tool 'makeman' from HTML source. .\" Do not hand-hack it! If you have bug fixes or improvements, please find .\" the corresponding HTML page on the Netpbm website, generate a patch .\" against that, and send it to the Netpbm maintainer. .TH "Pnmrotate User Manual" 0 "30 August 2002" "netpbm documentation" .SH "نام (NAME)" pnmrotate \- چرخاندن یک تصویر PNM با زاویه‌ای مشخص .UN synopsis .SH "خلاصه دستور (SYNOPSIS)" \fBpnmrotate\fP [\fB-noantialias\fP] [\fB-background=\fP\fIcolor\fP] \fIangle\fP [\fIpnmfile\fP] .UN description .SH "توضیحات (DESCRIPTION)" .PP این برنامه بخشی از .BR "Netpbm" (1)\c \& است. \fBpnmrotate\fP یک تصویر PNM را به عنوان ورودی می‌خواند. آن را با زاویهٔ مشخص‌شده می‌چرخاند و همان نوع تصویر PNM را در خروجی تولید می‌کند. .PP ورودی فایلی با نام \fIpnmfile\fP است، یا اگر \fIpnmfile\fP را مشخص نکنید، ورودی استاندارد (Standard Input) خواهد بود. خروجی به خروجی استاندارد (Standard Output) فرستاده می‌شود. .PP تصویر حاصل یک مستطیل است که تصویر ورودی (مستطیلی) را که نسبت به لبهٔ پایینی خود چرخیده، در بر می‌گیرد. مستطیل دربرگیرنده تا حد امکان کوچک در نظر گرفته می‌شود تا تصویر چرخیده را در بر بگیرد. پس‌زمینهٔ تصویر دربرگیرنده تک‌رنگی است که \fBpnmrotate\fP آن را به عنوان رنگ پس‌زمینهٔ تصویر اصلی تشخیص می‌دهد، یا رنگی که شما به طور صریح مشخص می‌کنید. .PP مقدار \fIangle\fP به صورت درجهٔ اعشاری (ممیز شناور) است و در خلاف جهت عقربه‌های ساعت سنجیده می‌شود. این مقدار می‌تواند منفی باشد، اما باید بین -90 و 90 قرار گیرد. .PP برای چرخش‌هایی که مضربی از ۹۰ درجه (یک‌چهارم دور) هستند، بهتر است به جای آن از \fBpamflip\fP استفاده کنید؛ این ابزار سریع‌تر و دقیق‌تر است. .PP برای چرخش‌های بیشتر از ۴۵ درجه ممکن است به نتیجهٔ بهتری برسید اگر ابتدا با استفاده از \fIpamflip\fP یک چرخش ۹۰ درجه انجام دهید و سپس با \fIpnmrotate\fP کمتر از ۴۵ درجه در جهت معکوس بچرخانید. .PP الگوریتم چرخش بر اساس روش سه‌بُرشی (three-shear) اَلن پِث (Alan Paeth) است. هر بُرش با پیمایش پیکسل‌های مبدأ و توزیع مقادیر کسری به هر یک از پیکسل‌های مقصد پیاده‌سازی شده است. این روش دارای اثر «ضددندانه‌ای شدن» (anti-aliasing) است \- یعنی از لبه‌های ناهموار و اعوجاج‌های مشابه جلوگیری می‌کند. با این حال، به این معنی نیز هست که رنگ‌های اصلی یا سطوح خاکستری در تصویر دستخوش تغییر می‌شوند. اگر نیاز دارید که دقیقاً همان مجموعه رنگ‌ها حفظ شوند، می‌توانید از گزینهٔ \fB-noantialias\fP استفاده کنید. .PP برنامه با گزینهٔ \fB-noantialias\fP سریع‌تر اجرا شده و حافظهٔ واقعی (real memory) کمتری مصرف می‌کند. در هر دو حالت، مقدار زیادی حافظهٔ مجازی (virtual memory) مصرف می‌شود، چرا که یک کپی از تصویر ورودی و یک کپی از تصویر خروجی را در حافظه نگه می‌دارد و برای هر کدام ۱۲ بایت به ازای هر پیکسل استفاده می‌کند. اما با فعال بودن \fB-noantialias\fP، این حافظه را به صورت متوالی در حدود شش گذر پیمایش می‌کند و در هر لحظه تنها چند صفحه از حافظهٔ فیزیکی نیاز خواهد بود. .PP در مقابل، بدون \fB-noantialias\fP، اندازهٔ مجموعه کاری (working set) برنامه در حافظهٔ واقعی یک صفحه به ازای هر ردیف تصویر ورودی به علاوه یک صفحه به ازای هر ردیف تصویر خروجی است. پیش از Netpbm نسخهٔ 10.16 (ژوئن ۲۰۰۳)، گزینهٔ \fB-noantialias\fP نیز دقیقاً به همین میزان حافظه نیاز داشت. .UN options .SH "گزینه‌ها (OPTIONS)" .PP علاوه بر گزینه‌های مشترک در تمام برنامه‌های مبتنی بر libnetpbm (به ویژه \fB-quiet\fP، به .UR index.html#commonoptions گزینه‌های عمومی .UE \& مراجعه کنید)، \fBpnmrotate\fP گزینه‌های خط فرمان زیر را می‌شناسد: .PP تمام گزینه‌ها را می‌توان به کوتاه‌ترین پیشوند یکتای آن‌ها خلاصه کرد. می‌توانید برای تعیین یک گزینه، به جای یک خط فاصله از دو خط فاصله استفاده کنید. همچنین می‌توانید بین نام گزینه و مقدار آن از فاصله یا علامت مساوی استفاده نمایید. .TP \fB-background=\fP\fIcolor\fP رنگ پس‌زمینه‌ای را تعیین می‌کند که تصویر چرخیده روی آن قرار می‌گیرد. .sp رنگ (\fIcolor\fP) را مطابق آنچه برای .UR libnetpbm_image.html#colorname آرگومان روال کتابخانه‌ای \fBpnm_parsecolor()\fP .UE \& شرح داده شده است، مشخص کنید. .sp به طور پیش‌فرض، اگر این گزینه را مشخص نکنید، \fBpnmrotate\fP آنچه را که به نظرش رنگ پس‌زمینهٔ تصویر اصلی می‌رسد انتخاب می‌کند. این رنگ را به صورت نسبتاً ساده‌انگارانه‌ای، با میانگین‌گیری از رنگ‌های دو گوشهٔ بالایی تصویر تعیین می‌کند. .sp این گزینه از Netpbm نسخهٔ 10.15 اضافه شد. پیش از آن، \fBpnmrotate\fP همواره رفتاری مشابه حالت پیش‌فرض کنونی داشت. .TP \fB-noantialias\fP این گزینه \fBpnmrotate\fP را وادار می‌کند تا به سادگی پیکسل‌ها را جابه‌جا کند، به جای اینکه پیکسل‌های خروجی را از ترکیب چندین پیکسل ورودی بازتولید نماید. حالت دوم ممکن است باعث شود خروجی شامل رنگ‌هایی باشد که در ورودی وجود ندارند، که شاید مطلوب نباشد. همچنین احتمالاً باعث می‌شود خروجی شامل تعداد زیادی رنگ متفاوت شود. اگر به تعداد کمی رنگ نیاز دارید، اما اهمیتی ندارد که آیا دقیقاً همان رنگ‌های ورودی هستند یا خیر، استفاده از \fBpnmquant\fP روی تصویر خروجی را به جای استفاده از \fB-noantialias\fP مد نظر قرار دهید. .sp توجه داشته باشید برای اطمینان از اینکه خروجی شامل رنگ‌هایی که در ورودی نیستند نشود، باید رنگ پس‌زمینه را نیز مد نظر قرار دهید. گزینهٔ \fB-background\fP را ببینید. .UN references .SH "منابع (REFERENCES)" "A Fast Algorithm for General Raster Rotation" by Alan Paeth, Graphics Interface '86, pp. 77-81. .UN seealso .SH "همچنین ببینید (SEE ALSO)" .BR "pnmshear" (1)\c \&, .BR "pamflip" (1)\c \&, .BR "pnmquant" (1)\c \&, .BR "pnm" (1)\c \& .UN author .SH "نویسندگان (AUTHORS)" حق نشر (C) ۱۹۸۹، ۱۹۹۱ توسط Jef Poskanzer. .SH "منبع سند (DOCUMENT SOURCE)" این صفحه راهنما توسط ابزار 'makeman' از Netpbm و از منبع HTML تولید شده است. مستندات اصلی در نشانی زیر قرار دارد: .IP .B http://netpbm.sourceforge.net/doc/pnmrotate.html .PP