كيفية تعديل عدة صور دفعة واحدة باستخدام Terminal في Linux

أحيانًا يحتاج المستخدمون إلى تعديل مجموعة من الصور دفعة واحدة بدلًا من القيام بذلك بشكل فردي. باستخدام Terminal في نظام Linux، يمكنك بسهولة تحرير عدد كبير من الصور في وقت واحد باستخدام أدوات قوية مثل ImageMagick أو Sips. هذه الطريقة توفر الوقت وتزيد من الإنتاجية، خاصةً إذا كنت تعمل مع العديد من الصور التي تحتاج إلى تعديلات متشابهة مثل تغيير الحجم أو تعديل الألوان أو إضافة تأثيرات. في هذه المقالة، سنتناول كيفية استخدام Terminal في Linux لتعديل الصور دفعة واحدة.

كيفية تعديل عدة صور دفعة واحدة باستخدام Terminal في Linux - %categories

ImageMagick هي أداة قوية لسطر الأوامر في Linux لتحرير الصور دفعة واحدة. إليك كيفية استخدامها لقص الصور وتغيير حجمها ودمجها، بالإضافة إلى إزالة معلومات الموقع.

أولاً، قم بتثبيت ImageMagick

يمكن إجراء تحرير الصور دفعة واحدة في Linux باستخدام برنامج ImageMagick. ImageMagick هي أداة مجانية لإنشاء وتحرير الصور من سطر الأوامر، ويمكنها تغيير الحجم والقص والتحويل والتدوير وتنفيذ إجراءات أخرى للصور دفعة واحدة.

تستخدم أمثلة أوامر محطة Linux على هذه الصفحة ImageMagick، والذي يمكنك تثبيته على أنظمة Debian/Ubuntu عن طريق تشغيل:

sudo apt install imagemagick

أو على فيدورا لينكس عن طريق تشغيل:

sudo dnf install ImageMagick

ملاحظة
يجب عليك التحقق من ما تفعله أوامر المحطة الطرفية التي تنسخها/تلصقها من الإنترنت قبل تشغيلها! ورغم أنني شرحت الأوامر في هذه المقالة، إلا أن الأوامر قد يكون لها تأثيرات غير مقصودة على أنظمة مختلفة، ومن المعروف أن بعض الأشخاص ينشرون أوامر تبدو غير ضارة عبر الإنترنت والتي قد تسبب في الواقع قدرًا كبيرًا من الضرر.

اقرأ أيضا:  كيفية استيراد ملفات OVA وتصديرها في برنامج VirtualBox

إزالة بيانات EXIF ​​من الصور دفعة واحدة

تحتوي بيانات EXIF ​​على معلومات حول الجهاز الذي تم استخدامه لالتقاط الصورة ومعلومات الألوان وبيانات أخرى مفيدة للمصورين. ويمكن أن تتضمن أيضًا موقع التقاط الصورة، وهو أمر يتعلق بالخصوصية إذا كنت تقوم بتحميل الصورة إلى الإنترنت.

يمكنك إزالة جميع بيانات EXIF ​​من دفعة من صور JPG وPNG باستخدام أمر المحطة الطرفية التالي في Linux:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -strip "/path/to/output_directory/$(basename "$file")"; done

فيما يلي شرح سريع لكيفية قيام هذا الأمر (والأمر الآخر في هذه الصفحة) بإجراء تحرير مجمع على ملفات صور متعددة:

تتكرر حلقة for على جميع ملفات .jpg و.jpeg و.png (لاحظ أن أسماء الملفات والامتدادات حساسة لحالة الأحرف!) في دليل المصدر. داخل الحلقة، يتم تعيين المسار إلى كل ملف صورة إلى المتغير $file.
يتم تمرير المتغير $file إلى أمر التحويل ImageMagick مع الخيار -strip الذي يخبره بإزالة جميع بيانات EXIF.
المعلمة الأخيرة التي يتم تمريرها إلى أمر التحويل هي مسار ملف الإخراج. في هذه الحالة، يتم حفظ الإخراج في مجلد مختلف بنفس اسم الملف، وبالتالي تظل صورتك الأصلية سليمة.

تغيير حجم الصور دفعة واحدة

يقوم أمر المحطة الطرفية ImageMagick أدناه بتغيير حجم جميع الصور في دليل المصدر إلى 1024 × 768 بكسل باستخدام خيار -resize:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -resize 1024x768 "/path/to/output_directory/$(basename "$file")"; done

يمكنك تحديد أي دقة هنا، ولكن ضع في اعتبارك أن صورتك سوف يتم تمديدها إذا لم تتطابق نسبة العرض إلى الارتفاع.

اقتصاص الصور دفعة واحدة

يقوم هذا الأمر بقص الصور دفعة واحدة في دليل إلى 800 × 600 بكسل:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -crop 800x600+0+0 "/path/to/output_directory/$(basename "$file")"; done

لاحظ أن 800×600+0+0 تم تمريرها إلى خيار -crop: بت 800×600 هو أبعاد البكسل التي تريد اقتصاصها (مساحة الصورة التي تريد الاحتفاظ بها). بت +0+0 هو إحداثيات البكسل X/Y حيث يجب أن يبدأ الاقتصاص، في هذه الحالة، بدءًا من الزاوية العلوية اليسرى.

اقرأ أيضا:  شرح طريقة استخدام diff3 لدمج الملفات في Linux بسهولة

إضافة علامة مائية على الصور دفعة واحدة

إن إضافة علامة مائية على الصور هي طريقة سهلة لحماية عملك الإبداعي عند مشاركته مع الآخرين. يضيف أمر محطة طرفية Linux هذا علامة مائية إلى دفعة من الملفات:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -gravity southeast -pointsize 20 -draw "text 5,5 'My Watermark'" "/path/to/output_directory/$(basename "$file")"; done

في هذا المثال، يستخدم أمر التحويل خيار -gravity بالتزامن مع خيار -draw لرسم النص “My watermark” بحجم خط 20 في الزاوية اليمنى السفلية (الزاوية الجنوبية الشرقية) لكل صورة. تحدد إحداثيات البكسل 5,5 الإزاحة من الزاوية الجنوبية الشرقية، مما يضيف هامشًا بمقدار 5 بكسل بين نص العلامة المائية وحافة الصورة.

تحويل تنسيقات ملفات الصور

تقوم مجموعة أوامر ImageMagick هذه بتحويل صور JPG إلى PNG:

for file in /path/to/source_directory/*.{jpg,jpeg}; do convert "$file" "/path/to/output_directory/$(basename "${file%.*}.png")"; done

يتم تحديد تنسيق الصورة الناتجة من خلال اسم الملف الذي تعطيه لها. يدعم أمر التحويل الخاص بـ ImageMagick تنسيقات ملفات الصور الشائعة التالية: JPEG وPNG وGIV وTIFF وBMP وSVG وWEBP وHEIC وRAW. كما يمكنه التعامل مع ملفات PDF وصور المتجهات بتنسيق SVG.

تدوير الصور بكميات كبيرة

يمكنك تدوير الصور بكميات كبيرة باستخدام الأمر التالي:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -rotate 90 "/path/to/output_directory/$(basename "$file")"; done

استبدل 90 درجة المحددة بالدوران الذي ترغب في تطبيقه.

الانعكاس (مرآة) للصور

استخدم خيارات التحويل “انعكاس وانعكاس” في ImageMagick لانعكاس الصور رأسياً أو أفقياً:

لانعكاس الصور رأسياً أو انعكاسها بشكل مجمع:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -flip "/path/to/output_directory/$(basename "$file")"; done

لتقليب الصور بشكل أفقي بشكل مجمع:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -flop "/path/to/output_directory/$(basename "$file")"; done

تغيير جودة JPEG

يمكنك تقليل حجم صور JPG عن طريق تقليل جودتها:
for file in /path/to/source_directory/*.jpg; do convert "$file" -quality 85 "/path/to/output_directory/$(basename "$file")"; done

يضبط هذا الأمر جودة الصور على 85 باستخدام خيار -quality. لاحظ أنه عند تقليل جودة الصورة، لا يمكن استعادة هذه الجودة (حتى بتغيير الجودة مرة أخرى إلى قيمة أعلى).

اقرأ أيضا:  اكتشف أسرار سطر أوامر لينكس: نصائح وحيل لتسريع عملك

يتم تعيين جودة JPEG على مقياس من 0 إلى 100، حيث يمثل 100 الحد الأقصى للجودة للتخزين الأرشيفي والتصوير الفوتوغرافي الاحترافي، و60 إلى 75 مناسبًا للمشاركة عبر الإنترنت أو للاستخدام على مواقع الويب. أي شيء أقل من 50 سيبدو رديئًا بعض الشيء، حتى عند مستوى التكبير الافتراضي.

إعادة تسمية الصور بالجملة

يمكن استخدام الأمر cp (نسخ) لإعادة تسمية الصور بالجملة في Linux:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do cp "$file" "/path/to/output_directory/$(basename "${file%.*}_renamed.${file##*.}")"; done

يضيف هذا المثال النص الذي تمت إعادة تسميته إلى جميع الصور في دليل المصدر.

القص والتشذيب التلقائي

يقوم خيار -trim لأمر التحويل بقص الصور تلقائيًا استنادًا إلى لون الخلفية، والذي يتم تحديده من خلال لون وحدات البكسل في كل زاوية من زوايا الصور:

for file in /path/to/source_directory/*.{jpg,jpeg,png}; do convert "$file" -trim "/path/to/output_directory/$(basename "$file")"; done
دمج الصور لإنشاء صور مجمعة
يمكن استخدام أداة Montage ImageMagick لإنشاء صور مجمعة ودمج الصور:
montage /path/to/source_directory/*.{jpg,jpeg,png} -tile 2x2 -geometry +5+5 "/path/to/output_directory/collage.jpg

يأخذ هذا الأمر جميع الصور الموجودة في دليل المصدر وينشئ شبكة 2×2 بها باستخدام خيار -tile، مع وجود فجوة 5 بكسل محددة بواسطة خيار -geometry. إذا كان هناك أكثر من 4 صور، فسيتم إنشاء شبكات إضافية لعرضها.

لينكس ❤️ الإبداع

أصبح Linux ذو شعبية متزايدة بين المبدعين. لم يصل برنامج الإبداع الخاص به إلى النقطة التي يمكن استخدامه فيها في السيناريوهات المهنية فحسب، بل يمكن لسطر الأوامر وأدوات الأتمتة الخاصة به توفير الوقت لك في إدارة وتحويل صورك للنشر والمشاركة.

تحرير الصور دفعة واحدة باستخدام Terminal في Linux يمكن أن يكون طريقة فعالة وسريعة لتحسين سير العمل عند التعامل مع العديد من الملفات. من خلال استخدام الأدوات المتاحة في Linux مثل ImageMagick، يمكنك إتمام المهام بسرعة وبدون الحاجة إلى برامج إضافية. جرب هذه الطريقة لتحسين إنتاجيتك وتنظيم عملك بشكل أفضل في المستقبل.

قد يعجبك ايضا