\ .\" 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 "Pamtopng User Manual" 0 "13 March 2019" "netpbm documentation" .SH "نام (NAME)" pamtopng \- تبدیل تصویر Netpbm به PNG .UN synopsis .SH "خلاصه دستور (SYNOPSIS)" \fBpamtopng\fP [\fB-verbose\fP] [\fB-transparent=\fP\fIcolor\fP] [\fB-background=\fP\fIcolor\fP] [\fB-gamma=\fP\fIvalue\fP] [\fB-chroma='\fP\fIwx\fP \fIwy\fP \fIrx\fP \fIry\fP \fIgx\fP \fIgy\fP \fIbx\fP \fIby\fP\fB'\fP] [\fB-srgbintent=\fP\fIintent\fP] [\fB-time=\fP[\fIyy\fP]\fIyy\fP\fB-\fP\fImm\fP\fB-\fP\fIdd\fP \fIhh\fP\fB:\fP\fImm\fP\fB:\fP\fIss\fP] [\fB-text=\fP\fIfile\fP] [\fB-ztxt=\fP\fIfile\fP] [\fB-itxt=\fP\fIfile\fP] [\fB-interlace\fP] [\fIpnmfile\fP] .SH "نحوه استفاده از گزینه‌ها (OPTION USAGE)" .PP می‌توان گزینه‌ها را به کوتاه‌ترین پیشوند یکتای آن‌ها مخفف کرد. می‌توانید به جای یک خط تیره از دو خط تیره برای مشخص کردن گزینه‌ها استفاده کنید. همچنین می‌توانید به جای علامت مساوی، از فاصله برای جدا کردن نام گزینه و مقدار آن استفاده نمایید. .UN description .SH "توضیحات (DESCRIPTION)" .PP این برنامه بخشی از .BR "Netpbm" (1)\c \& است. .PP برنامه \fBpamtopng\fP یک تصویر Netpbm را به عنوان ورودی خوانده و یک تصویر PNG به عنوان خروجی تولید می‌کند. .PP مقادیر مؤلفه‌های رنگ در فایل‌های PNG دارای عرض ۸ یا ۱۶ بیت هستند، بنابراین در صورت لزوم \fBpamtopng\fP رنگ‌ها را مقیاس‌بندی می‌کند تا دارای maxval برابر با ۲۵۵ یا ۶۵۵۳۵ باشند. در این حالت، برای نشان دادن عمق بیتی اولیه، یک تکه (chunk) با نام sBIT اضافه می‌کند. .PP برنامه \fBpamtopng\fP فقط روی تصاویری با maxval برابر با ۱، ۳، ۱۵، ۲۵۵ یا ۶۵۵۳۵ کار می‌کند. می‌توانید از \fBpamdepth\fP برای تبدیل تصویری با مقادیر دیگر maxval به یکی از این مقادیر استفاده کنید. .PP برنامه \fBpamtopng\fP از یک PAM رنگی، یک PNG رنگی تولید می‌کند، حتی اگر تنها رنگ‌های موجود در تصویر سایه‌هایی از خاکستری باشند. برای ایجاد یک PNG در مقیاس خاکستری (grayscale) از چنین تصویری (که ممکن است کمی کوچک‌تر باشد)، می‌توانید از سایر برنامه‌های Netpbm برای تبدیل ورودی به مقیاس خاکستری استفاده کنید. .UN pnmtopng .SS "برنامه جایگزین: \fBpnmtopng\fP (Alternative: \fBpnmtopng\fP)" .PP مجموعه Netpbm شامل برنامه دیگری برای تولید تصاویر PNG است: \fBpnmtopng\fP. برنامه \fBpnmtopng\fP بسیار قدیمی‌تر است - در واقع نخستین برنامه در جهان است که قادر به تولید PNG بود. \fBpnmtopng\fP برنامه‌ای پیچیده و پر از قابلیت‌های گوناگون است. این برنامه امکان کنترل جنبه‌های مختلف تبدیل و ایجاد فایل‌های PNG با ویژگی‌های پیچیده را فراهم می‌کند. این ابزار تبدیل‌های مختلفی روی تصویر انجام می‌دهد تا بیشترین فشرده‌سازی ممکن حاصل شود، تا حدی که احتمالاً در دنیای امروز تفاوتی ایجاد نمی‌کند. .PP مزیت اصلی \fBpamtopng\fP نسبت به \fBpnmtopng\fP این است که اولی می‌تواند از کانال شفافیت یک تصویر PAM برای تولید اطلاعات شفافیت در PNG استفاده کند. در مقابل، مدیریت کانال آلفا در \fBpnmtopng\fP بسیار دشوار و پرزحمت است. .PP یک تفاوت که \fIوجود ندارد\fP، و ممکن است برخی افراد به اشتباه از نام‌ها برداشت کنند، قالب‌های ورودی ممکن است. هر دو برنامه می‌توانند ورودی‌های PBM، PGM، PPM و PAM را دریافت کنند. .PP از آنجا که \fBpnmtopng\fP تقریباً همیشه وجود داشته است، برنامه‌ها و رویه‌هایی که از آن استفاده می‌کنند سازگاری و قابلیت حمل بیشتری نسبت به برنامه‌های مبتنی بر \fBpamtopng\fP دارند. همچنین قدمت و محبوبیت آن احتمالاً باعث می‌شود باگ‌های کمتری داشته باشد. .PP برنامه \fBpamtopng\fP هیچ روشی برای انجام کارهایی که گزینه‌های زیر در \fBpnmtopng\fP انجام می‌دهند ندارد: .IP \(bu \fB-palette\fP .IP \(bu \fB-history\fP .IP \(bu \fB-filter\fP .IP \(bu \fB-size\fP .IP \(bu \fB-paeth\fP .IP \(bu \fB-hist\fP .IP \(bu \fB-nofilter\fP .IP \(bu \fB-sub\fP .IP \(bu \fB-up\fP .IP \(bu \fB-avg\fP .IP \(bu \fB-force\fP .IP \(bu \fB-libversion\fP .IP \(bu \fB-compression\fP .IP \(bu \fB-comp_\fP\fIxxx\fP .PP برخی دیگر از عملکردهای \fBpnmtopng\fP که \fBpamtopng\fP فاقد آن‌هاست عبارتند از: .IP \(bu هنگامی که رنگ شفاف یا پس‌زمینه‌ای را مشخص می‌کنید که در تصویر وجود ندارد، \fBpnmtopng\fP می‌تواند به صورت اختیاری نزدیک‌ترین رنگ موجود در تصویر را انتخاب کند. اما \fBpamtopng\fP همیشه دقیقاً از رنگی که تعیین کرده‌اید استفاده می‌کند. .PP ویژگی‌هایی که در هر دو برنامه وجود دارند عمدتاً با ساختار دستوری مشابهی کنترل می‌شوند. اما تفاوت‌های زیر وجود دارد: .IP \(bu گزینه \fB-rgb\fP در \fBpnmtopng\fP در برنامه \fBpamtopng\fP به صورت \fB-chroma\fP است. نام \fB-chroma\fP مناسب‌تر است و در واقع نامی بود که \fBpnmtopng\fP در ابتدا استفاده می‌کرد، اما زمانی که مجبور شدیم نحو مقدار گزینه را برای انطباق با بقیه Netpbm تغییر دهیم، ناچار شدیم نام آن را تغییر دهیم. .IP \(bu گزینه \fB-modtime\fP در \fBpnmtopng\fP در برنامه \fBpamtopng\fP به \fB-time\fP تبدیل شده است. منشأ تغییر \fB-modtime\fP مشابه \fB-rgb\fP است. .UN options .SH "گزینه‌ها (OPTIONS)" .PP علاوه بر گزینه‌های مشترک در تمام برنامه‌های مبتنی بر libnetpbm (به‌ویژه \fB-quiet\fP، به .UR index.html#commonoptions گزینه‌های عمومی (Common Options) .UE \& مراجعه کنید)، \fBpamtopng\fP گزینه‌های خط فرمان زیر را می‌شناسد: .TP \fB-transparent=\fP\fIcolor\fP برنامه \fBpamtopng\fP رنگ مشخص‌شده را به عنوان رنگ شفاف در تصویر PNG علامت‌گذاری می‌کند -- هر پیکسلی با این رنگ کاملاً شفاف خواهد بود. این کار باعث می‌شود \fBpamtopng\fP یک تکه tRNS را در تصویر قرار دهد که مشخص‌کننده آن رنگ است. .sp رنگ (\fIcolor\fP) را همان‌طور که برای آرگومان .UR libnetpbm_image.html#colorname روال کتابخانه‌ای \fBpnm_parsecolor()\fP .UE \& شرح داده شده مشخص کنید؛ مانند \fBred\fP یا \fBrgb:ff/00/0d\fP. .TP \fB-background=\fP\fIcolor\fP این گزینه باعث می‌شود \fBpamtopng\fP یک تکه (chunk) رنگ پس‌زمینه در خروجی PNG ایجاد کند که می‌تواند برای تبدیلات بعدی کانال شفافیت یا رنگ شفاف به کار رود. مقدار \fIcolor\fP را همانند \fB-transparent\fP مشخص کنید. .sp \ .TP \fB-gamma=\fP\fIvalue\fP این گزینه باعث می‌شود \fBpamtopng\fP یک تکه gAMA ایجاد کند. این اطلاعات به توصیف نحوه تفسیر مقادیر رنگ در PNG کمک می‌کند. بدون تکه gAMA، هر برنامه‌ای که PNG را تفسیر می‌کند باید این اطلاعات را جداگانه به دست آورد (یا صرفاً یک مقدار استاندارد را فرض کند). اگر ورودی شما یک تصویر PPM یا PGM واقعی است، باید \fB-gamma=.45\fP را مشخص کنید. اما گاهی اوقات تصاویری تولید می‌شوند که ظاهراً PPM هستند با این تفاوت که تصویر از یک تابع انتقال گامای متفاوت از آنچه برای PPM مشخص شده استفاده می‌کند. یک حالت رایج این امر زمانی است که تصویر توسط سخت‌افزار ساده‌ای ایجاد شده باشد که فاقد توان محاسبات دیجیتال است. همچنین برخی برنامه‌های ساده که تصاویر را از صفر ایجاد می‌کنند این کار را با یک انتقال گاما که مقدار آن 1.0 است انجام می‌دهند. .sp \ .TP \fB-chroma=\fP\fIchroma_list\fP این گزینه نحوه تعیین رنگ خاص بر اساس مقادیر مؤلفه‌های قرمز، سبز و آبی یک پیکسل را با مشخص کردن رنگینگی (chromaticity) این ۳ منبع روشنایی اصلی و رنگ سفید (یعنی شدت کامل هر سه) تعیین می‌کند. .sp مقدار \fIchroma_list\fP فهرستی از ۸ عدد اعشاری ممیز شناور است که با فاصله از هم جدا شده‌اند: رنگینگی‌های X و Y استاندارد CIE-1931 (به همان ترتیب) برای هر یک از رنگ‌های سفید، قرمز، سبز و آبی، به همان ترتیب. .sp این اطلاعات در تکه cHRM تصویر PNG ذخیره می‌شود. .sp در یک دستور پوسته (شل)، حتماً از علامت نقل‌قول استفاده کنید تا فاصله‌های درون \fIchroma_list\fP باعث نشوند پوسته آن‌ها را به عنوان چند آرگومان دستور مجزا ببیند. .TP \fB-srgbintent=\fP\fIintent\fP این گزینه مشخص می‌کند که ورودی یک تصویر شبه‌Netpbm است که از فضای رنگی sRGB استفاده می‌کند (برخلاف Netpbm واقعی) و نشان می‌دهد قصد دارید رنگ‌ها چگونه رندر شوند. این گزینه باعث می‌شود \fBpamtopng\fP یک تکه sRGB در تصویر PNG بگنجاند که این هدف را مشخص می‌کند؛ برای اطلاعات بیشتر درباره معنای واقعی این مفهوم به مستندات PNG مراجعه کنید. .sp مقدار \fIintent\fP یکی از موارد زیر است: .IP \(bu \fBperceptual\fP .IP \(bu \fBrelativecolorimetric\fP .IP \(bu \fBsaturation\fP .IP \(bu \fBabsolutecolorimetric\fP .TP \fB-text=\fP\fIfilename\fP این گزینه امکان گنجاندن رشته‌های متنی دلخواه را در خروجی PNG به صورت تکه‌های tEXt فراهم می‌کند. \fIfilename\fP نام فایلی است که رشته‌های متنی شما را در بر دارد. .sp خروجی برای هر ورودی در فایل، شامل یک تکه tEXt مجزا خواهد بود. .sp در اینجا نمونه‌ای از یک فایل رشته متنی آورده شده است: .nf Title PNG file Author John Doe Description how to include a text chunk PNG file "Creation Date" 2015-may-11 Software pamtopng .fi .sp این فایل به ورودی‌هایی تقسیم می‌شود که هر ورودی شامل خطوط متوالی از متن است. خط اول هر ورودی از ستون اول شروع می‌شود (یعنی ستون اول فاصله خالی نیست) و تمام خطوط دیگر دارای فاصله خالی در ستون اول هستند. نخستین ورودی در خط اول فایل شروع می‌شود، بنابراین مجاز نیست که اولین خط فایل دارای فاصله خالی در ستون اول خود باشد. .sp اولین کلمه در یک ورودی، کلید رشته متنی است (مانند 'Title'). این کلید از ستون اول خط شروع شده و تا اولین نویسه جداکننده یا انتهای خط (هر کدام زودتر باشد) ادامه می‌یابد بدون این‌که نویسه جداکننده جزو کلید باشد. می‌توانید کلید را در گیومه دوتایی قرار دهید که در این صورت کلید می‌تواند شامل چند کلمه باشد. گیومه‌ها جزئی از کلید نیستند. خود رشته متنی پس از کلید و هرگونه نویسه جداکننده بعد از آن، به‌علاوه متن خطوط ادامه‌دار بعدی آغاز می‌شود. .sp هیچ محدودیتی در طول سطر، ورودی، کلید یا رشته متنی فایل وجود ندارد. همچنین هیچ محدودیتی در تعداد ورودی‌ها وجود ندارد. .TP \fB-ztxt=\fP\fIfilename\fP مشابه \fB-text\fP است، با این تفاوت که رشته متنی در خروجی PNG فشرده‌سازی می‌شود. برنامه \fBpamtopng\fP به جای تکه‌های tEXt از تکه‌های zTXt استفاده می‌کند. .sp \ .TP \fB-itxt=\fP\fIfilename\fP مشابه \fB-text\fP است، با این تفاوت که رشته‌های متنی می‌توانند به زبانی غیر از انگلیسی باشند. تصویر PNG نشان می‌دهد که آن زبان چیست و کلید رشته متنی را هم به انگلیسی و هم به آن زبان شامل می‌شود. برنامه \fBpamtopng\fP به جای تکه‌های tEXt از تکه‌های iTXt استفاده می‌کند. .sp برای هر رکورد، باید زبان را مشخص کنید و کلید را هم به انگلیسی و هم به زبان رشته متنی ارائه دهید. .sp مثال: .nf Language nl-NL Taal nl-NL Title nl-NL Titel PNG file Author nl-NL Auteur Pietje Puk Description nl-NL Omschrijving Tekst in het Nederlands. .fi .sp مشخصات زبان بر اساس استاندارد ISO 639-1 است؛ برای کدهای معتبر به http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes مراجعه کنید. قالب کد می‌تواند دو نویسه‌ای مانند "nl" یا یک کد گسترش‌یافته مانند "en-US" باشد. .TP \fB-time='\fP[\fIyy\fP]\fIyy-mm-dd hh:mm:ss\fP\fB'\fP این گزینه به شما اجازه می‌دهد مقدار زمان ویرایش (modification time) را برای قرار گرفتن در خروجی PNG مشخص کنید. می‌توانید پارامتر سال را به صورت مقدار دو رقمی یا چهار رقمی مشخص نمایید. .sp \ .TP \fB-interlace\fP این گزینه باعث می‌شود فایل PNG به صورت درهم‌بافته (interlaced) در قالب Adam7 تولید شود. قالب درهم‌بافته قالبی است که در آن داده‌های شطرنجی با نمایشی با وضوح پایین از کل تصویر آغاز می‌شود، سپس با اطلاعات تکمیلی برای کل تصویر ادامه می‌یابد، سپس اطلاعات باز هم بیشتر و الی آخر. به‌ویژه در Adam7، هفت مرحله پیمایش روی کل تصویر انجام می‌شود. این قابلیت زمانی مفید است که تصویر را از طریق یک خط ارتباطی کند دریافت می‌کنید و شخصی منتظر دیدن آن است. ساده‌ترین کار در چنین شرایطی این است که منتظر بمانید کل تصویر برسد و سپس آن را بلافاصله نمایش دهید، اما در این حالت کاربر زمان را با خیره شدن به یک فضای خالی تلف می‌کند تا کل تصویر دریافت شود. در قالب استاندارد غیر درهم‌بافته، داده‌ها سطر به سطر از بالا می‌رسند، بنابراین نمایشگر می‌تواند هر سطر تصویر را به محض رسیدن نمایش دهد و به تدریج به سمت پایین پیش برود. اما با یک تصویر درهم‌بافته، نمایشگر می‌تواند با نمایش نسخه با وضوح پایین از کل تصویر شروع کرده و با رسیدن داده‌های بیشتر، کیفیت نمایش را به تدریج بهبود بخشد. .sp هنگامی که این گزینه را مشخص می‌کنید، \fBpamtopng\fP باید کل تصویر را به طور همزمان در حافظه نگه دارد، در حالی که بدون آن، برنامه تنها یک سطر شطرنجی را در هر لحظه در حافظه نگه می‌دارد. اگر حافظه کافی برای این کار نداشته باشید، ممکن است با کندی بسیار شدید یا خطا مواجه شوید - نه تنها در فرآیند اجرای \fBpamtopng\fP، بلکه احتمالاً در سراسر سیستمی که حافظه را با آن به اشتراک می‌گذارد. برنامه \fBpnmtopng\fP این محدودیت را ندارد (حتی هنگام تولید PNG درهم‌بافته تنها یک سطر را در حافظه نگه می‌دارد). .sp این گزینه در Netpbm 10.86 (مارس 2019) اضافه شد. .TP \fB-verbose\fP این گزینه باعث می‌شود برنامه اطلاعات و وقایع گوناگون درباره فرآیند تبدیل را نمایش دهد. .sp \ .UN seealso .SH "همچنین ببینید (SEE ALSO)" .BR "pngtopam" (1)\c \&, .BR "pnmtopng" (1)\c \&, .BR "pam" (1)\c \&, .BR "pnm" (1)\c \& .PP برای اطلاعات درباره قالب PNG، به .UR http://www.w3.org/TR/PNG http://www.w3.org/TR/PNG .UE \&، .UR http://libpng.org/pub/png http://libpng.org/pub/png .UE \&، .UR http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes .UE \& و .UR http://schaik.com/png http://schaik.com/png .UE \& مراجعه کنید. .UN history .SH "تاریخچه (HISTORY)" .PP برنامه \fBpamtopng\fP در Netpbm 10.70 (ژوئن 2015) معرفی شد. .PP پیش از \fBpamtopng\fP، دو روش برای ایجاد تصاویر PNG در Netpbm وجود داشت: \fBpnmtopng\fP و \fBpamrgbatopng\fP. تاریخچه برنامه اول در بالا مورد بحث قرار گرفت. برنامه دوم در سال ۲۰۰۵ به عنوان روشی ساده برای رفع یک نیاز اساسی که \fBpnmtopng\fP پاسخگوی آن نبود به Netpbm اضافه شد: امکان تبدیل کانال آلفا در یک تصویر PAM به کانال آلفا در تصویر PNG. .PP مدیریت کانال آلفا در \fBpnmtopng\fP بسیار پرزحمت و دشوار است (همان‌طور که کار با کانال‌های آلفا پیش از معرفی قالب PAM به طور کلی دشوار بود). \fBpamrgbatopng\fP می‌توانست آنچه را کاربران درباره کانال آلفا می‌خواستند انجام دهد، اما کار دیگری نمی‌کرد. این یک برنامه بسیار کوچک بود که عملاً هیچ گزینه خط فرمانی نداشت. .PP هدف در آن دوران این بود که سرانجام \fBpnmtopng\fP گسترش یابد تا قابلیت کانال آلفای PAM را داشته باشد، نام آن به \fBpamtopng\fP تغییر کند و \fBpamrgbatopng\fP کنار گذاشته شود. اما \fBpnmtopng\fP به دلیل تنوع شگفت‌انگیز ویژگی‌هایش و لزوم حفظ سازگاری عقروعقب، چنان برنامه پیچیده‌ای است که افزودن آن قابلیت به آن وظیفه‌ای دلهره‌آور بود و تا ده سال هیچ‌کس تلاشی برای انجام آن نکرد. .PP در سال ۲۰۱۵، یکی از نویسندگان نسخه اولیه \fBpnmtopng\fP (پیش از آن‌که حتی بخشی از Netpbm باشد -- برنامه‌ای که اساساً هیچ خط کدی مشترک با \fBpnmtopng\fP سال ۲۰۱۵ نداشت) تصمیم گرفت مسیر متفاوتی را در پیش بگیرد. در حالی که بسیاری از ویژگی‌های \fBpnmtopng\fP بسیار مهم بودند و پیاده‌سازی آسانی داشتند، بسیاری دیگر احتمالاً در دنیای مدرن کاربردی نداشتند یا حداقل آن‌قدر مهم نبودند که پیچیدگی ناشی از آن‌ها در کد را توجیه کنند. (ویژگی‌هایی که قدیمی پنداشته شدند مواردی بودند که هدفشان اندکی کوچک‌تر کردن خروجی PNG بود - موضوعی که با کاهش هزینه منابع رایانه‌ای اهمیت بسیار کمتری پیدا کرده بود). .PP و این فرصت وجود داشت که آن ویژگی‌ها حذف شوند: می‌توانستیم از نام جدید 'pamtopng' برای برنامه‌ای جدید استفاده کنیم، برنامه موجود را تحت نام 'pnmtopng' نگه داریم و از بسیاری از دردسرهای سازگاری با گذشته دوری گزینیم. .PP از این رو، ویلم ون شایک (Willem van Schaik) برنامه‌ای در سطح میانی نوشت که همه ویژگی‌های اصلی \fBpnmtopng\fP را به همراه پشتیبانی از کانال آلفای \fBpamrgbatopng\fP، با کدی ساده و مرتب شامل می‌شد. این برنامه همان \fBpamtopng\fP بود. .PP از آنجا که \fBpamrgbatopng\fP هیچ گزینه‌ای نداشت، \fBpamtopng\fP حتی بدون تلاش خاصی با آن سازگار بود. بنابراین، به محض این‌که \fBpamtopng\fP را به Netpbm اضافه کردیم، \fBpamrgbatopng\fP را حذف کرده و توصیه نمودیم که \fBpamrgbatopng\fP به عنوان یک نام مستعار (alias) برای \fBpamtopng\fP نصب شود. .UN author .SH "نویسنده (AUTHOR)" کپی‌رایت (C) ۱۹۹۵-۱۹۹۷ متعلق به Alexander Lehmann و Willem van Schaik. کپی‌رایت (C) ۲۰۱۵ متعلق به Willem van Schaik. .SH "منبع مستندات (DOCUMENT SOURCE)" این صفحه راهنما توسط ابزار Netpbm تحت عنوان 'makeman' از منبع HTML تولید شده است. مستندات اصلی در آدرس زیر قرار دارد: .IP .B http://netpbm.sourceforge.net/doc/pamtopng.html .PP