البرمجة النصية الخاصة بي هي صدئة قليلاً ، لذا يرجى عمل نسخة احتياطية من صورك قبل تجربة هذا البرنامج النصي.
#!/bin/bash
FILES=/path/to/*.jpg
for f in $FILES
do
identify $f | awk '{ split($3, f, "x"); f[1] -= 20; cl = sprintf("jpegtran -crop %dx%d+0+0 %s > new_%s", f[1], f[2], $1, $1); system(cl); }'
done
تشير إلى ملاحظة:
- اضبط المسار على القيمة الصحيحة
- هل تحتاج *.jpeg؟
identify
هو أمر ImageMagickawk
سوف الاستيلاء على أبعاد البكسل منidentify
لاستخدام كمعلمة (مع انخفاض العرض بمقدار 20 بكسل) لjpegtran
لاقتصاص الصورة- تم حفظ الصورة الجديدة على أنها
new_[old_name].jpg
jpegtran
قد يعدل منطقة زراعة المحاصيل بحيث يمكن أن تؤدي دون فقدان. تأكد من أن الصور الناتجة هي الحجم الصحيح وليس أكبر قليلاً.