الرئيسية
» لينوكس
»
كيفية تحويل صور PNG إلى JPG على نظام لينكس باستخدام برنامج ImageMagick
كيفية تحويل صور PNG إلى JPG على نظام لينكس باستخدام برنامج ImageMagick
لتحويل صور PNG إلى JPG على نظام لينكس ، يُعدّ برنامج ImageMagick الخيار الأمثل. مع الإصدار 7 من ImageMagick، يُمكن تحويل ملف واحد باستخدام الأمر `png` magick input.png output.jpg، بينما يُمكن تحويل مجلد كامل باستخدام الأمر `png` magick mogrify -format jpg *.png. إذا كانت صورة PNG شفافة، فيجب دمجها أولاً مع خلفية صلبة لأن JPEG لا يدعم قناة ألفا.
قم بتثبيت برنامج ImageMagick على نظام Linux
يتوفر برنامج ImageMagick في المستودعات القياسية لتوزيعات لينكس الرئيسية. وتوصي وثائقه الحالية باستخدامه magickكنقطة دخول رئيسية عبر سطر الأوامر. تختلف إصدارات الحزمة باختلاف التوزيعة والإصدار، لذا قد توفر الأنظمة القديمة أوامر ImageMagick 6، مثل الأمر ` image` convertأو mogrifyبدونه magick.
التوزيع
أمر التثبيت
أوبونتو / ديبيان
sudo apt update && sudo apt install imagemagick
فيدورا
sudo dnf install ImageMagick
آرتش لينكس
sudo pacman -S imagemagick
أوبن سوزي
sudo zypper install ImageMagick
قم بتثبيت برنامج ImageMagick باستخدام مدير الحزم الخاص بتوزيعتك قبل بدء عملية التحويل.
بعد التثبيت، تحقق من الإصدار باستخدام الأمر magick -version`. إذا لم يكن هذا الأمر متاحًا ولكن ImageMagick مثبت، فجرّب الأمر `.` convert -versionأو ` .`. تشرح وثائق أدوات سطر الأوامر الرسميةmogrify -version لـ ImageMagick بنية أوامر ImageMagick 7. كما تنشر Ubuntu قوائم حزم ImageMagick الرسمية ، وتُدير Fedora صفحة حزم ImageMagick الخاصة بها .
تحويل ملف PNG واحد إلى JPG
افتح نافذة طرفية وانتقل إلى المجلد الذي يحتوي على الصورة. على سبيل المثال:
cd ~/Pictures
ثم قم بتحويل الملف عن طريق إضافة .jpgامتداد للملف الناتج:
magick photo.png photo.jpg
يقوم برنامج ImageMagick بتحويل الصورة الأساسية مع الاحتفاظ بملف PNG الأصلي وكتابة ملف JPG جديد.
يبقى الملف الأصلي photo.pngفي مكانه لأن الأمر يكتب إلى اسم ملف إخراج مختلف. لاختيار جودة ضغط JPEG بشكل صريح، أضف -qualityما يلي قبل اسم ملف الإخراج:
magick photo.png -quality 90 photo.jpg
يقبل برنامج ImageMagick قيم جودة JPEG من 1 إلى 100. تحافظ القيم الأعلى عمومًا على مزيد من التفاصيل، ولكنها تنتج ملفات أكبر حجمًا. راجع مرجع الخيارات الرسمي-quality لمعرفة السلوك الخاص بكل تنسيق.
حوّل صورة PNG شفافة دون الحصول على خلفية غير مرغوب فيها.
يمكن لملفات PNG تخزين وحدات البكسل الشفافة، بينما لا يمكن لملفات JPEG ذلك. إذا كان المصدر يحتوي على شفافية، فقم بدمجها مع لون الخلفية الذي تريده قبل حفظها كصورة JPG. للحصول على خلفية بيضاء، قم بتشغيل الأمر التالي:
magick logo.png -background white -alpha remove -alpha off logo.jpg
قم بتسوية وحدات البكسل الشفافة في صور PNG على اللون الأبيض قبل التحويل إلى JPEG، الذي لا يحتوي على قناة ألفا.
تقوم هذه -alpha removeالعملية بتركيب الصورة فوق الخلفية المحددة، مع -alpha offتعطيل قناة ألفا في الناتج. يوثق برنامج ImageMagick هذه السلوكيات في خيارات قناة ألفا الرسمية الخاصة به .
تحويل ملفات PNG متعددة إلى JPG دفعة واحدة
لتحويل جميع .pngالملفات ذات الأحرف الصغيرة في الدليل الحالي، استخدم mogrify:
magick mogrify -format jpg *.png
يقوم الأمر mogrify -format jpgبإنشاء ملفات JPG متطابقة لجميع ملفات PNG الموجودة في المجلد الحالي.
بحسب الوثائق الرسميةmogrify لبرنامج ImageMagick ، -format jpgفإن استخدام هذا الخيار لا يُغيّر ملفات PNG ويُنشئ ملفات JPG مُطابقة. إذا كانت ملفات PNG الخاصة بك قد تحتوي على شفافية، فادمج الخيارات التالية:
magick mogrify -background white -alpha remove -alpha off -quality 90 -format jpg *.png
احذر إذا كان المجلد يحتوي بالفعل على ملفات JPG بنفس الأسماء الأساسية، لأن المخرجات الجديدة قد تستبدل تلك الملفات. ولضمان سير عمل أكثر أمانًا، اكتب عمليات التحويل في مجلد منفصل.
mkdir -p jpg
for f in *.png; do
magick "$f" -background white -alpha remove -alpha off -quality 90 "jpg/${f%.png}.jpg"
done
تفاصيل صغيرة في اسم الملف قد تؤدي إلى تعطل مجموعة من الملفات
أسماء الملفات في لينكس حساسة لحالة الأحرف، لذا فإن استخدام حرف البدل *.pngلا يتطابق عادةً مع الملفات التي تنتهي بـ .PNG. أعد تشغيل الملف المجمع *.PNGإذا لزم الأمر. بالنسبة لاسم ملف واحد يحتوي على مسافات، ضعه بين علامتي اقتباس، على سبيل المثال magick "Summer Photo.png" "Summer Photo.jpg". تمنع هذه التفاصيل سطر الأوامر من تمرير مسار خاطئ إلى ImageMagick.
ماذا لو magickلم يتم العثور عليه؟
لا تزال بعض إصدارات لينكس القديمة تتضمن حزمة ImageMagick 6. في هذه الحالة، استخدم الأمر `imageMagick 6` convert photo.png photo.jpgللصورة الواحدة، والأمر `imageMagick 6` mogrify -format jpg *.pngلمجموعة الصور. إذا لم يكن أي من الأمرين موجودًا، فتأكد من تثبيت حزمة ImageMagick بنجاح، وأن ملفاتها التنفيذية موجودة في مجلد `/usr/images PATH...
بالنسبة لمعظم المستخدمين، فإن القاعدة العملية بسيطة: استخدمها magickعلى ImageMagick 7، وقم بتسطيح الشفافية قبل إنشاء صور JPEG، واستخدمها magick mogrify -format jpgعندما تحتاج إلى معالجة مجلد كامل بسرعة.