ديف أوبس

تغيير حجم الصور باستخدام ImageMagick

دليلك إلى ImageMagick: تغيير حجم الصور عبر سطر الأوامر

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

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

ما هو ImageMagick؟

ImageMagick هو برنامج مفتوح المصدر يتيح للمستخدمين عرض وتحويل وتعديل الصور بشكل ديناميكي باستخدام سطر الأوامر. يدعم ImageMagick مجموعة واسعة من صيغ الصور مثل JPEG، PNG، GIF، TIFF، BMP، وغيرها الكثير. يمكن أيضًا استخدامه عبر واجهات برمجية مختلفة مثل Python وPerl وRuby.

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

أساسيات تغيير حجم الصور عبر سطر الأوامر

يعد تغيير حجم الصور أحد أهم التطبيقات التي يقوم بها ImageMagick، حيث يمكن للمستخدم تقليص أو توسيع الصور بسهولة باستخدام أوامر بسيطة. إليك الطريقة الأساسية لتغيير حجم صورة باستخدام سطر الأوامر:

bash
convert input.jpg -resize 800x600 output.jpg
  • convert: هو الأمر الأساسي في ImageMagick لتحويل ومعالجة الصور.

  • input.jpg: هو اسم الصورة الأصلية التي تريد تغيير حجمها.

  • -resize: هو الخيار الذي يشير إلى أنك ستقوم بتغيير حجم الصورة.

  • 800x600: الأبعاد الجديدة للصورة. هنا يتم تحديد العرض 800 بكسل والارتفاع 600 بكسل. يمكنك أيضًا استخدام نسبة مئوية بدلاً من تحديد الأبعاد الدقيقة.

  • output.jpg: هو اسم الصورة الجديدة التي سيتم حفظها بعد تعديل الحجم.

خيارات لتغيير حجم الصور

ImageMagick يوفر العديد من الخيارات التي يمكن استخدامها لتخصيص عملية تغيير الحجم، مما يسمح للمستخدمين بتحقيق نتائج دقيقة ومرنة. من بين هذه الخيارات:

  1. النسبة المئوية:
    بدلاً من تحديد أبعاد ثابتة، يمكنك تغيير حجم الصورة باستخدام نسبة مئوية. على سبيل المثال، لتصغير الصورة إلى 50% من حجمها الأصلي:

    bash
    convert input.jpg -resize 50% output.jpg
  2. الحفاظ على نسبة الأبعاد:
    للحفاظ على النسبة الأصلية للصورة أثناء تغيير الحجم، يمكن استخدام خيار > أو < لضبط حجم الصورة إذا كانت أكبر أو أصغر من الأبعاد المحددة:

    bash
    convert input.jpg -resize 800x600\> output.jpg

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

  3. الحد الأقصى للأبعاد:
    إذا كنت بحاجة إلى تحديد أبعاد الحد الأقصى للصورة ولكنك ترغب في الحفاظ على النسبة بين العرض والارتفاع، يمكنك استخدام خيار x فقط لتحديد بعد واحد:

    bash
    convert input.jpg -resize 800x output.jpg

    في هذه الحالة، سيتم تحديد العرض إلى 800 بكسل، بينما سيقوم ImageMagick بحساب الارتفاع تلقائيًا للحفاظ على نسبة الأبعاد.

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

    bash
    convert input.jpg -resize 800x -aspect output.jpg

    سيحافظ هذا الخيار على النسبة الأصلية أثناء تغيير الحجم.

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

    bash
    convert input.jpg -resize 800x600 -quality 90 output.jpg

    حيث يشير الرقم 90 إلى مستوى الجودة (من 1 إلى 100)، وكلما ارتفع الرقم، كلما كانت الصورة أفضل جودة.

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

واحدة من المزايا الرائعة لImageMagick هي قدرته على معالجة العديد من الصور في وقت واحد. باستخدام سطر الأوامر، يمكن تغيير حجم مجموعة من الصور دفعة واحدة باستخدام صيغة الاستدعاء الجماعي مثل:

bash
mogrify -resize 800x600 *.jpg
  • mogrify: هو الأمر الذي يُستخدم لتعديل الصور الأصلية مباشرة في المجلد دون إنشاء نسخة جديدة.

  • *.jpg: يعنى أنه سيتم تغيير حجم جميع الصور بصيغة JPG في المجلد.

استخدام أدوات أخرى في ImageMagick مع تغيير الحجم

يُعتبر ImageMagick أداة شاملة، حيث يمكن دمج العديد من الأوامر مع تغيير الحجم للحصول على نتائج أكثر تخصيصًا. على سبيل المثال، يمكنك دمج تغيير الحجم مع التدوير أو إضافة تأثيرات:

bash
convert input.jpg -resize 800x600 -rotate 90 output.jpg

يؤدي هذا الأمر إلى تغيير حجم الصورة إلى 800×600 بكسل، ثم تدويرها بمقدار 90 درجة.

تغيير الحجم باستخدام ImageMagick عبر سكربتات

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

bash
#!/bin/bash for img in *.jpg do convert "$img" -resize 800x600 "${img%.jpg}_resized.jpg" done

يعمل هذا السكربت على تغيير حجم جميع صور JPG في المجلد إلى 800×600 بكسل ويحفظ النسخ المعدلة بأسماء جديدة.

الختام

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