Pnmtopalm User Manual(0) Pnmtopalm User Manual(0)

pnmtopalm - تبدیل تصویر PNM به Palm Bitmap

pnmtopalm

[-verbose]

[-depth=N]

[-maxdepth=N]

[-colormap]

[-transparent=colorspec]

[-density=N]

[-offset]

[-withdummy] [-scanline_compression | -rle_compression | -packbits_compression]

[pnmfile]

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

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

دستور pnmtopalm یک تصویر PNM را به عنوان ورودی، از ورودی استاندارد یا از pnmfile خوانده و یک Palm Bitmap به عنوان خروجی تولید می‌کند.

فایل‌های Palm Bitmap یا فایل‌های طیف خاکستری با ۱، ۲ یا ۴ بیت بر هر پیکسل هستند، یا فایل‌های رنگی نگاشته‌شده (mapped color) با ۸ بیت بر هر پیکسل، یا یک فایل رنگی مستقیم با ۱۶ بیت بر هر پیکسل. دستور pnmtopalm این عمق رنگ را بر اساس maxval و تعداد رنگ‌های موجود در ورودی انتخاب می‌کند، مگر آنکه با گزینهٔ -depth یک عمق مشخص (بیت بر پیکسل) تعیین کنید. همچنین می‌توانید با گزینهٔ -maxdepth حداکثر عمق مجاز را تعیین کرده تا انتخاب pnmtopalm تا حدی محدود شود. فایل‌های ورودی باید دارای تعداد و مجموعه‌ای متناسب از رنگ‌ها برای محدودیت‌های خروجیِ انتخاب‌شده باشند.

این موضوع معمولاً بدین معناست که باید پیش از ارسال تصویر PNM به pnmtopalm، آن را از طریق pnmquant یا pnmremap پردازش کنید. به همراه Netpbm چندین فایل نقشه‌رنگ (colormap) ارائه شده است که می‌توانید برای این منظور با pnmremap استفاده نمایید. این فایل‌ها عبارتند از: palmgray2.map (۴ سایهٔ خاکستری برای عمق ۲)، palmgray4.map (۱۶ سایهٔ خاکستری برای عمق ۴)، و palmcolor8.map (۲۳۲ رنگ در نقشه‌رنگ پیش‌فرض Palm). در یک نصب استاندارد Netpbm، این فایل‌ها در دایرکتوری داده‌های Netpbm قرار دارند، و می‌توانید دایرکتوری داده‌های Netpbm را با دستور پوستهٔ netpbm-config --datadir پیدا کنید.

مثال:

pnmremap myimage.ppm \
         -mapfile=$(netpbm-config --datadir)/palmgray2.map \
| pnmtopalm -depth=2 >myimage.palm

فایل‌های فشرده‌شدهٔ Palm Bitmap، دست‌کم آن‌هایی که pnmtopalm قابلیت ایجادشان را دارد، نمی‌توانند بیش از ۸ بیت بر هر پیکسل داشته باشند. در صورتی که یک خروجی فشرده‌شده را مشخص کنید، pnmtopalm به صورت پیش‌فرض از ۸ بیت بر هر پیکسل استفاده می‌کند. می‌توانید تعداد بیت‌ها بر هر پیکسل را به طور صریح با -depth مشخص نمایید. گزینهٔ -maxdepth تأثیری مشابه با -depth دارد. اگر با هر یک از این دو گزینه مقداری بیشتر از ۸ بیت بر هر پیکسل تعیین کنید، pnmtopalm با خطا متوقف می‌شود.

دستور pnmtopalm یک بیت‌مپ Palm از نسخه 0، 1، 2 یا 3 تولید می‌کند. این دستور قدیمی‌ترین (پایین‌ترین) نسخه‌ای را که می‌تواند برای تصویر داده‌شده و گزینه‌های تعیین‌شده تولید کند، به کار می‌گیرد.

  • اگر تراکمی (گزینه -density) بالاتر از «low» مشخص کنید، نسخه حداقل 3 خواهد بود.
  • اگر شفافیت (گزینه -transparent) یا هرگونه فشرده‌سازی را مشخص کنید، نسخه حداقل 2 خواهد بود.
  • اگر یک نقشه رنگ سفارشی (گزینه -colormap) مشخص کنید، نسخه حداقل 1 خواهد بود.
  • اگر تصویر بیش از یک بیت در هر پیکسل داشته باشد، نسخه حداقل 1 خواهد بود. تصویر زمانی بیش از یک بیت در هر پیکسل دارد که آن را با -depth تعیین کرده باشید یا مقدار را روی پیش‌فرض بگذارید و تصویر دارای بیش از دو رنگ (یا سایه‌های خاکستری) باشد.

تمام نگارش‌های Palm OS می‌توانند بیت‌مپ نسخه 0 را بخوانند. Palm OS 3.0 و نسخه‌های جدیدتر می‌توانند بیت‌مپ نسخه 1 را بخوانند. Palm OS 3.5 و جدیدتر می‌توانند بیت‌مپ نسخه 2 را بخوانند. برای خواندن بیت‌مپ نسخه 3، به Palm OS Garnet یا یک دستگاه دستی مجهز به High Density Display Feature Set نیاز دارید.

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

قالب فایل خروجی را نمایش می‌دهد.
فایلی با عمق N تولید می‌کند، که در آن N باید ۱، ۲، ۴، ۸ یا ۱۶ باشد. از آنجا که نقشه رنگ ۸-بیتی پیش‌فرض Palm از نوع طیف خاکستری نیست، اگر ورودی یک تصویر تک‌رنگ یا طیف خاکستری باشد، خروجی بدون در نظر گرفتن عمق مشخص‌شده، هرگز عمیق‌تر از ۴ بیت نخواهد بود. توجه داشته باشید که رنگ ۸-بیتی فقط در PalmOS 3.5 (و بالاتر) کار می‌کند، و رنگ مستقیم ۱۶-بیتی فقط در PalmOS 4.0 (و بالاتر) عمل می‌کند. با این حال، قالب رنگ مستقیم ۱۶-بیتی همچنین با نسخه‌های گوناگون PalmOS 3.x استفاده‌شده در Handspring Visor سازگار است، بنابراین این تصاویر ممکن است در آن دستگاه نیز کار کنند.
فایلی با حداقل عمق، اما در هر حال کمتر از پهنای N بیت تولید می‌کند. اگر 16-bit را تعیین کنید، خروجی همواره رنگ مستقیم ۱۶-بیتی خواهد بود.
فیلد nextDepthOffset را در سرآیند فایل palm تنظیم می‌کند تا پایان فایل را نشان دهد (و انتهای فایل را تا مضرب ۴ بایت تراز می‌کند، زیرا nextDepthOffset تنها می‌تواند به مرزهای ۴ بایتی اشاره کند).

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

دستور pnmtopalm فایلی ایجاد می‌کند که تنها حاوی یک تصویر است، اما می‌توانید به طور جداگانه چندین فایل تک‌تصویری را به هم متصل کنید تا یک فایل چندتصویری بسازید. در این صورت، باید از -offset استفاده کنید تا اتصال حاصل یک جریان داده معتبر باشد.

به‌طور پیش‌فرض (اگر -offset را تعیین نکنید)، pnmtopalm فیلد nextDepthOffset را طوری تولید می‌کند که نشان دهد تصویر دیگری در ادامه وجود ندارد (و هیچ داده لایه‌گذاری پس از تصویر اضافه نمی‌کند).

بیت‌مپ‌های نسخه ۳ Palm در واقع به جای nextDepthOffset دارای یک فیلد nextBitmapOffset هستند. موارد فوق برای هرکدام که مرتبط باشد صدق می‌کند.

گزینه -offset در Netpbm 10.26 (ژانویه ۲۰۰۵) اضافه شد. پیش از آن، pnmtopalm همواره فیلد nextDepthOffset را روی «none» تنظیم می‌کرد.

پیش از Netpbm 10.27 (مارس ۲۰۰۵)، در صورت ایجاد یک رستر فشرده نمی‌توانستید از -offset استفاده کنید (زیرا pnmtopalm آن‌قدر هوشمند نبود که در زمان نوشتن سرآیند، اندازه تصویر را بداند). همچنین به دلایلی مشابه، نمی‌توانستید آن را با عمق رنگ ۱۶ بیتی یا با گزینه -colormap به کار ببرید.

این گزینه به pnmtopalm اعلام می‌کند که پس از تصویر، یک سرآیند تصویر ساختگی در جریان داده قرار دهد تا تصاویر با تراکم بالا (high density) بعدی را معرفی کند.

این سرآیند تصویر ساختگی، یک دنباله ویژه است که در مشخصات Palm Bitmap تعریف شده است. برای مفسرهای قدیمی Palm Bitmap مانند یک سرآیند تصویر نامعتبر به نظر می‌رسد، بنابراین چنین مفسری خواندن جریان داده را در آن نقطه متوقف می‌کند. اما یک مفسر جدید Palm Bitmap ماهیت آن را تشخیص می‌دهد (صرفاً چیزی برای متوقف کردن مفسر قدیمی) و از روی آن عبور می‌کند. قاعدتاً شما پس از این، تصاویر با تراکم بالایی را به جریان اضافه خواهید کرد که باعث سردرگمی مفسر قدیمی‌تر می‌شدند.

اگر -withdummy را مشخص می‌کنید، باید -offset را نیز تعیین کنید، چرا که در غیر این صورت فاقد معنی است.

گزینه -withdummy در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شد.

یک نقشه رنگ سفارشی ایجاد کرده و آن را در فایل خروجی می‌گنجاند. به دلایل کارایی، این کار از سوی Palm توصیه نمی‌شود. در غیر این صورت، pnmtopalm از نقشه رنگ پیش‌فرض Palm برای خروجی رنگی استفاده می‌کند.
یک رنگ خاص را به عنوان کاملاً شفاف علامت‌گذاری می‌کند.

مقدار colorspec همان‌گونه است که برای آرگومان روتین کتابخانه‌ای pnm_parsecolor() شرح داده شده است.

شفافیت فقط در Palm OS 3.5 و بالاتر کار می‌کند.

مشخص می‌کند که بیت‌مپ خروجی Palm از طرح فشرده‌سازی خط‌اسکن (scanline) Palm استفاده کند. فشرده‌سازی خط‌اسکن تنها در Palm OS 2.0 و بالاتر کار می‌کند.
مشخص می‌کند که بیت‌مپ خروجی Palm از طرح فشرده‌سازی RLE متعلق به Palm استفاده کند. فشرده‌سازی RLE تنها با Palm OS 3.5 و بالاتر کار می‌کند.
مشخص می‌کند که بیت‌مپ خروجی Palm از طرح فشرده‌سازی packbits متعلق به Palm استفاده کند. فشرده‌سازی Packbits تنها با Palm OS 4.0 و بالاتر کار می‌کند.

این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شد.

تراکم بیت‌مپ Palm را مشخص می‌کند. تراکم عددی است که با تفکیک‌پذیری نمایش تصویر تناسب دارد. ضریب تناسب به عهده نرم‌افزار یا دستگاه نمایش‌دهنده است، اما سودمند است که این اعداد را به عنوان پیکسل بر اینچ در نظر بگیرید. مقادیر مجاز عبارتند از:
  • 72
  • 108
  • 144
  • 216
  • 288

    این گزینه در Netpbm 10.27 (مارس ۲۰۰۵) اضافه شد. نگارش‌های قبلی Netpbm نمی‌توانستند بیت‌مپ‌های نسخه ۳ Palm را تولید کنند، بنابراین مفهومی به نام تراکم وجود نداشت.

    palmtopnm(1), pdbimgtopam(1), pnmquant(1), pnmremap(1), pnm(1)

بیت‌مپ‌های Palm ممکن است شامل چندین نسخه (rendition) از یک بیت‌مپ یکسان در عمق‌های مختلف باشند. برای ساخت یک بیت‌مپ Palm با N نسخه به‌وسیلهٔ pnmtopalm، ابتدا نسخه‌های ۱ تا N-1 را با استفاده از گزینهٔ -offset ایجاد کنید، سپس تصویر N-ام را بدون گزینهٔ -offset بسازید. در نهایت، با استفاده از cat نسخه‌های مجزا را در قالب یک فایل واحد به یکدیگر متصل کنید.

اگر قصد دارید هر دو نسخه‌های با تراکم بالا (high density) و تراکم پایین (low density) را بگنجانید، تصاویر با تراکم بالا را در انتها قرار دهید و هنگام ساخت آخرین تصویر از نسخه‌های با تراکم پایین، از گزینهٔ -withdummy استفاده کنید.

اگر طرح فشرده‌سازی Palm packbits را برای یک بیت‌مپ رنگ مستقیم ۱۶ بیتی مشخص کنید، این برنامه یک بیت‌مپ نامعتبر تولید می‌کند.

این برنامه در ابتدا با نام ppmtoTbmp.c توسط Ian Goldberg و George Caswell نوشته شد. سپس برای افزودن قابلیت‌های رنگ، فشرده‌سازی و شفافیت به‌طور کامل توسط Bill Janssen بازنویسی گردید. حق نشر (Copyright) ۱۹۹۵-۲۰۰۱ متعلق به Ian Goldberg، George Caswell و Bill Janssen است.

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

http://netpbm.sourceforge.net/doc/pnmtopalm.html
25 August 2017 netpbm documentation