فتوشاپ بدون شما هم كار می كند !
فتوشاپ كاران حرفه ای دلشان می خواهد كاری كنند همه به این احساس شاعرانه برسند كه آنها روزهای مدید عمرشان را صرف خلق آثار بزرگ دیجیتالی می كنند , تا شاید آثارشان مورد اقبال عمومی قرار گیرد. ولی باور نكنید. به شما اطمینان می دهم اگر به زندگی كاری این افراد نگاهی بیاندازید خواهید دید آنچه پشت پرده می گذرد بسیار پیش پا افتاده تر از این اغراق ها است. در دنیا چند وظیفه ای DVD چاپ و وب امروز , غالب هنرمندان عرصه تصاویر دیجیتالی , زمانی را كه صرف اجرای دستورات خط تولید گونه و یكنواخت كردن تصاویر گوناگون برای انواع مختلف رسانه های صوتی , تصویری می كنند بسیار بیشتر از آن چیزی است كه حاضرند به آن اعتراف نمایند. شاید تعجب كنید اگر بگویم بعد از نگارش 4 كه قابلیت Action به فتوشاپ اضافه گردید , روز به روز بر تعداد كسانی كه از Action استفاده می كنند , افزوده شده است. این قابلیت عالی به شما اجازه می دهد با ضبط ماكروها , بسیاری از امور طاقت فرسای مربوط به ویرایش های زیربنایی تصاویر را به صورت خودكار به انجام برسانید. استفاده از ماكرو Action بسیار ساده است , ولی اگر قرار باشد به تنهایی مورد استفاده قرارگیرد محدودیت هایی نیز دارد (مثلا كارهای Action را فقط می توان بر روی تصویر فعال باز شده در فتوشاپ اعمال كرد). البته فتوشاپ این مشكل را به كمك قابلیت دیگری به نام Batch Automation حل كرده است (برای استفاده از این قابلیت , در مسیر File - Automate را انتخاب كنید). این قابلیت به شما اجازه می دهد اعمال Action تعریفی خود را بر روی تمام تصاویر موجود در یك دایركتوری مشخص اجرا كنید. مروری كوتاه بر Action برای این كه بتوانم تصاویر JPEG گرفته شده با یك دوربین دیجیتالی را برای چاپ آماده كنم از قابلیت Batch فتوشاپ استفاده می نمایم , تا آنها را به CMYK Tiffs تبدیل كنم. در واقع برنامه 2.0 Elements كه ارزان تر از فتوشاپ است قابلیت Batch مشابهی دارد كه فقط برای این منظور طراحی شده است. روتین Batch را صرفا می توان بر روی یك دایركتوری (و تبعا زیر دایركتوری های درون آن) اعمال كرد , اما من راهی پیدا كرده ام كه با آن می توان این محدودیت را برداشت. برای این منظور یك Shortcut از تمام دایركتوری هایی كه می خواهید روتین Batch بر روی آنها اعمال شود را در دایركتوری اصلی قرار دهید. بزرگترین ضعف Action , بی منطقی آن است روتین های منطقی (كه به دستورالعمل های شرطی if…Else نیز مشهورند) عملا هنگام پردازش تصاویر از اهمیت بسیار بالایی برخوردارند. به عنوان مثال فرض كنید , می خواهید قطع یك تصویر را فقط در صورتی تغییر دهید كه آن تصویر خوابیده یا ایستاده باشد. یا مثلا می خواهید اندازه یك تصویر تنها زمانی تغییر كند كه تعداد پیكسل های آن از حد معینی بیشتر باشند و در غیر این صورت آن را به همان حال رها كنید. مشكل ماكروهای Action این است كه نمی تواند بین این وضعیت ها تفاوتی قائل شوند. خوشبختانه فتوشاپ از ابزار اتوماسیون دیگری به نام اسكریپت نویسی (Scripting) نیز سود می برد گرچه كمتر كسی از آن استفاده می كند ولی روتین های منطقی را نیز پشتیبانی می نماید. اسكریپت های فتوشاپ را هم می توانید به ویژوال بیسیك اسكریپت بنویسید و هم به زبان جاوااسكریپت (فتوشاپ , یا حداقل 7 كه بنده با آن آشنایی دارم , به صورت داخلی قادر به پشتیبانی از قابلیت پردازه نویسی نیست. برای افزودن این قابلیت به آن ابتدا لازم است Plug-in مخصوصی كه در آدرس http://www.adobe.com/support/downloads/detail.jspftpID=1536 قرار دارد را دریافت و نصب كنید. پس از نصب Plug-in فوق , گزینه جدیدی به نام Scripts به منوی File a Automate فتوشاپ اضافه می گردد). با قدرت جاوا از كدام زبان باید استفاده كنید؟ خوب ... هر یك مزایای خودش را دارد. ویژوال بیسیك اسكریپت زبانی جهانی است كه به شما اجازه می دهد به سایر برنامه های كاربردی لینك بزنید , به طوری كه فقط با یك اسكریپت می توانید یك روندكاری كامل را برنامه ریزی كنید. اسكریپت های جاوااسكریپت از این نظر محدودیت دارند و صرفا از طریق File - Scripts اجرا می شوند. ولی در عوض جاوااسكریپت زبانی است كه به سیستم عامل خاصی وابسته نیست و تقریبا در تمام برنامه های كاربردی مالتی مدیا نیز حضور دارد (حتی Director قدیمی نیز در نگارش MX2004 به جاوااسكریپت مجهز شده است). در واقع وقتی جاوااسكریپت را بیاموزید می توانیداز دانسته های خود در تمام نرم افزارهای مالتی مدیا استفاده كنید. حتی اگر آشنایی اندكی با جاوااسكریپت یا ویژوال بیسیك اسكریپت داشته باشید , نیز باز می توانید در فتوشاپ دست به اقدامات محیرالعقولی بزنید , چرا كه Actionها را نیز می توان از داخل اسكریپت ها فراخواند. بنابراین فقط كافیست یك Action از قبل ضبط شده را در یك اسكریپت ابتدایی جاوااسكریپت مابین یك دستورالعمل شرطی قرار دهید تا به روتین های فتوشاپ قدرت تفكر ببخشد. كد كوتاه جاوااسكریپت صفحه مقابل نحوه كار را نشان می دهد. دو خط ساده اول مشخص می كنند آیا عرض تصویر فعال شده باز در فتوشاپ از ارتفاع آن بیشتر است یا خیر. اگر چنین بود , Action از قبل ضبط شده ای كه من در Default Action.atn آن را firstAction نامیده ام توسط اسكریپت مذكور به اجرا گذاشته می شود. (بدیهی است این Action یا هر Action دیگری نیز می تواند باشد و این به انتخاب شما بستگی دارد)..
اما اگر ارتفاع تصویر بیشتر از عرض آن باشد , Action دیگری به نام SecondAction (كه همان set قرار دارد) به اجرا در خواهد آمد. if (app.activeDocument.width > app. activeDocument.height) doAction(firstAction , DefaultActions.atn) , else { doAction (secondAction , DefautActions.atn) } به همین سادگی !... اسكریپتی كه دستورالعمل شرطی آن فقط چهار خانه دارد. اسكریپت ساده فوق بیانگر این حقیقت است كه برای ساختن روتین های پیچیده اتوماسیون سازی و اعمال آنها بر روی یك تصویر , حتما لازم نیست یك اسكریپت ساده نویس حرفه ای باشید. اعمال اسكریپت ها به صورت دسته ای حتی اگر بپذیرید اسكریپت نویسی چیز مفیدی است , حتما الان با تعجب از خود می پرسید اسكریپت ها را نیز كه فقط می توان بر روی یك تك تصویر اجرا كرد , پس چگونه می توان از این دستورالعمل های شرطی برای پردازش تصاویر به صورت دسته ای كمك گرفت؟ انجام این كار بسیار آسان تر از آن چیزی است فكر می كنید. درست به همان سادگی كه یك Action را درون یك اسكریپت قرار می دادید , به همان سادگی نیز می توانید اسكریپت ها را از طریق منوی Scripts به عنوان یك ماكرو در پالت Action ضبط كنید (به عبارت ساده تر , اگر كلید ضبط ماكروی پالت Actions را فعال كرده و سپس از طریق منوی Scripts , اسكریپت مورد نظر را فرا بخوانید , آن اسكریپت به عنوان یك ماكرو به پالت Actions اضافه خواهد شد). اگر Action ضبط شده نهایی را ذخیره كنید می توانید آن را از طریق منوی File - Automate - Batch بر روی كل محتویات یك دایركتوری اعمال نمایید. توجه داشته باشید برای نوشتن اسكریپت های جاوااسكریپت نیازی به خرید یك ویرایشگر گران قیمت نیست , بلكه برای این كار از یك ویرایشگر ساده متن مثل Wordpad نیز می توانید استفاده كنید. در صورتی كه فایل نهایی را با پسوند JS ذخیره نمایید , فتوشاپ به صورت خودكار آن را شناسایی خواهد كرد.
برای این كه بتوانید مستقیما از طریق منوی Scripts به اسكریپت های خود دسترسی پیدا كنید كافیست آنها را در دایركتوری Presets - Scrips (واقع در دایركتوری محل نصب فتوشاپ) ذخیره نمایید. با انجام این كار اسكریپت ها مستقیما از طریق منوی Script فتوشاپ قابل انتخاب شما خواهند شد. اگر آنها را در این دایركتوری ذخیره نكیند , برای اجرای اسكریپت ها می بایست از گزینه Browse موجود در منوی Script استفاده كنید. برای این كه ببینید با اسكریپت نویسی چه كارهایی می توانید انجام دهید راهنمای پردازه نویسی جالبی كه همرا فتوشاپ نصب می شود را مطالعه نمایید كه ارزش آن را دارد.