Asciitopgm User Manual(0) Asciitopgm User Manual(0)

asciitopgm - تبدیل گرافیک‌های ASCII به PGM

asciitopgm
[-divisor=integer]
height width [asciifile]

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

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

دستور asciitopgm یک تصویر متنی در مقیاس خاکستری را به PGM تبدیل می‌کند. تصویر متنی در مقیاس خاکستری روشی بود که افراد در گذشته با استفاده از چاپگرهای متنی سیاه‌وسفید برای تولید یک تصویر گرافیکی خاکستری به کار می‌بردند. هر نویسهٔ چاپ‌شده یک پیکسل است. یک نویسهٔ بزرگ مانند M بزرگ یک پیکسل تیره است، در حالی که یک نویسهٔ کوچک مانند نقطه یک پیکسل روشن محسوب می‌شود. نویسهٔ فاصله (space) یک پیکسل کاملاً سفید است. بیننده در فاصله‌ای دور از صفحهٔ چاپ‌شده می‌ایستد تا متن محو به نظر برسد و تصویری خاکستری دیده شود. یکی از کاربردهای رایج و جذاب این روش، چاپ عکس چهرهٔ افراد با استفاده از متن بود.

بدیهی است که asciitopgm در اختصاص دادن مقدار روشنایی به هر نویسه، فونت مشخصی را فرض می‌کند.

دستور asciitopgm نویسه‌های کنترلی ASCII را کاملاً سفید در نظر می‌گیرد (به جز نویسهٔ خط جدید (newline) که هرگز یک پیکسل نیست، بلکه همان‌طور که انتظار می‌رود پایان یک سطر رستر را نشان می‌دهد). برای حروف کوچک، این برنامه روشنایی خاصی اختصاص می‌دهد که ارتباطی با ظاهر چاپ‌شدهٔ آن‌ها ندارد.

دستور asciitopgm کد نویسهٔ ASCII را از ۷ بیت کم‌ارزش‌تر هر بایت ورودی دریافت می‌کند؛ اما اگر باارزش‌ترین بیت (MSB) هر بایت ورودی صفر نباشد، هشدار می‌دهد.

ابعاد تصویر خروجی به بلندی height پیکسل و به پهنای width پیکسل است و در صورت نیاز، از سمت راست و پایین کوتاه شده یا با رنگ سفید پر (pad) می‌شود.

به گونه‌ای که یادآور کنترل حرکت سطر (carriage control) در چاپگرهای سطری Fortran است، هنگامی که یک خط با + (به‌علاوه) آغاز می‌شود، asciitopgm به جای ایجاد یک سطر جدید، آن را با سطر قبلی خروجی ادغام می‌کند. این کار امکان ایجاد طیف گسترده‌تری از مقادیر خاکستری را فراهم می‌سازد. (در کنترل چاپگر سطری Fortran، اولین نویسهٔ هر سطر ارسالی به چاپگر تعیین می‌کند که کاغذ چقدر به جلو برود؛ + به معنای عدم حرکت کاغذ است، به طوری که بقیه نویسه‌های سطر بر روی نویسه‌های قبلی چاپ می‌شوند. عملکرد asciitopgm تا حدی متفاوت است زیرا نویسهٔ اول هر سطر را به این صورت رزرو نمی‌کند. اگر اولین نویسه هر چیزی جز + باشد، asciitopgm آن را صرفاً نویسهٔ اول تصویر در نظر می‌گیرد).

مقدار maxval در تصویر خروجی ۱۲۷ است.

اگر به دنبال ابزاری هستید که تصویری از یک متن ایجاد کند و آن متن به صورت ASCII مشخص شده باشد، این موضوعی کاملاً متفاوت است. برای این کار از pbmtext استفاده کنید.

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

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

این مقدار باید مثبت باشد.

مقدار پیش‌فرض ۱ است.

می‌توانید از این گزینه برای تنظیم روشنایی خروجی استفاده کنید: برای مثال، اگر تصویر بیش از حد تاریک است، مقسوم‌علیه (divisor) را افزایش دهید.

پیش از Netpbm نسخهٔ 11.14 (مارس ۲۰۰۶)، این گزینه باید به صورت -d مخفف می‌شد، با یک فاصله و نه علامت مساوی از مقدار خود جدا می‌شد، و پیش از آرگومان‌های غیرگزینه‌ای قرار می‌گرفت.

pbmtoascii(1)، pbmtext(1)، pgm(1)

Wilson H. Bent. Jr. (whb@usc.edu)

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

http://netpbm.sourceforge.net/doc/asciitopgm.html
15 January 2026 netpbm documentation