ImageMagick

از ویکی فارسی اوبونتو
(تغییرمسیر از Convert)
پرش به: ناوبری، جستجو

ImageMagick شامل تعدادی نرم‌افزار برای خط فرمان به منظور ایجاد تغییر در تصاویر است. احتمالاً شما تجربه‌ٔ ویرایش تصویر با نرم‌افزارهای گرافیکی مانند Gimp را دارید.

اما یک رابط گرافیکی همواره جوابگوی نیاز شما نیست. فرض کنید می‌خواهید تصویری را از یک برنامه‌ٔ تحت وب ویرایش کنید یا می‌خواهید عملیاتی که روی یک تصویر انجام دادید را روی چندین تصویر دیگر نیز انجام دهید.

به منظور انجام کارهای فوق استفاده از خط فرمان مناسب‌تر به نظر می‌رسد.

نصب

نرم‌افزار ImageMagick را از مخازن نصب می‌کنیم:

$ sudo apt install imagemagick

نحوه‌ٔ استفاده از نرم افزار

تغییر قالب تصویر

فرمان convert یک تصویر را به‌عنوان ورودی گرفته و عملیاتی روی آن انجام می‌دهد و تصویر نهایی را با نامی که شما مشخّص نموده‌اید ذخیره می‌کند. یکی از کارهای ساده‌ای که می‌توان با این فرمان انجام داد تغییر قالب تصاویر است.

این فرمان تصویری با قالب jpg و نام example.jpg که در مسیر فعلی قرار دارد را گرفته و آن را به تصویری با قالب png تبدیل می‌کند:

$ convert example.jpg example.png

تغییر کیفیت تصویر

فرمان زیر علاوه بر عملیات فوق، کیفیت تصویر را نیز تغییر می‌دهد:

$ convert example.jpg -quality 95 example.png

عدد ورودی می‌بایست بین 1 تا 100 باشد. این عدد میزان فشرده‌سازی را تعیین می‌کند و برای قالب های JPEG-MIFF-PNG کاربرد دارد.

تغییر اندازه تصویر

هم‌چنین فرمان convert می‌تواند اندازهٔ تصویر را کم و زیاد کند. برای مثال این فرمان باعث می‌شود عرض تصویر 200 و طول تصویر 100 پیکسل شود:

$ convert example.png -resize 200x100 example.png

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

در این حالت نرم افزار سعی می‌کند نسبت ابعاد تصویر را حفظ کند و ممکن است مثلاً تصویر خروجی به جای ابعاد 200x100 پیکسل، ابعاد 158x100 پیکسل داشته باشد.

اگر می‌خواهید تصویرتان دقیقا همان ابعاد درخواستی را داشته باشد، در فرمان از یک علامت تعجّب به این صورت استفاده کنید:

$ convert example.png -resize 200x100! example.png

هم‌چنین شما می‌توانید فقط عرض تصویر را تعیین کنید و نرم‌افزار طول را طبق نسبت ابعاد تصویر تعیین خواهد کرد:

$ convert example.png -resize 200 example.png

همین امکان برای طول تصویر نیز وجود دارد:

$ convert example.png -resize x100 example.png

با استفاده از فرمان زیر نیز می‌توان ابعاد تصویر را 50 درصد کاهش داد:

$ convert example.jpg -resize 50% example.png

چرخش تصویر

فرمان زیر تصویر را 90 درجه به‌صورت ساعت‌گرد چرخش می‌دهد:

$ convert example.jpg -rotate 90 example-rotated.png

اعمال اثر بر روی تصویر

این نرم‌افزار می‌تواند اثر‌های متعددی روی تصویر اعمال کند.

برای مثال با استفاده از این فرمان می‌توانید حالت زغال را به تصویر خود بدهید:

$ convert example.jpg -charcoal 2 example-charcoal.jpg

در این فرمان عدد 2 شدت اثر را تعیین می‌کند.

انجام چند عملیات روی تصویر

شما می‌توانید همه‌ی عملیات‌ها را با هم و با یک فرمان انجام دهید، برای مثال می‌توانید اندازه تصویر را تغییر دهید، آن را بچرخانید، به آن اثر اعمال کنید، کیفیت آن را تعیین کنید و قالب آن را تغییر دهید:

$ convert example.png -resize 400x400 -rotate 180 -charcoal 4 -quality 95 example.jpg

پردازش چند تصویر

می‌توان با استفاده از این فرمان همه‌ٔ پرونده‌های با قالب png در مسیر جاری را 90 درجه چرخش داد و به نام تصاویر به‌دست آمده، واژه‌ٔ rotated را افزود و آن‌ها را ذخیره نمود:

$ for file in *.png; do convert $file -rotate 90 rotated-$file; done

توضیحات بیشتر

برای راهنمایی بیشتر راجع به کارکرد این نرم افزار به پایگاه رسمی آن مراجعه کنید.