Saya memiliki banyak PNG yang diunggah oleh pengguna.

Namun, mereka memiliki ruang putih di sekitarnya, yang harus dihilangkan.

Contohnya:

Gambar seperti ini:

enter image description here

Harus dipotong menjadi gambar seperti ini:

enter image description here

Apa yang harus saya lakukan jika saya ingin melakukan ini pada semua file yang cocok dengan file *_spec.PNG dalam direktori dan semua subdirektorinya?

Contoh file:

Folder
 |
 Subfolder1 - file1_spec.png
            - file2_spec.png
            - file3.png
 |
 Subfolder2 - filea.png
            - fileb1_spec.png

Saya perlu melakukan ini pada file-file ini:

  • Subfolder1/file1_spec.png
  • Subfolder1/file2_spec.png
  • Subfolder2/fileb1_spec.png

Memperbarui:

  1. OS: MacOSX Mojave 10.14.6
  2. Versi Imagemagick: 7.0.10-22 Q16 x86_64 2020-06-27
1
AGamePlayer 10 Juli 2020, 10:26

1 menjawab

Jawaban Terbaik

Saya akan membuat SALINAN file Anda di direktori cadangan sebelum Anda melakukan apa pun. Lalu pergi ke direktori teratas dan jalankan:

find . -iname "*_spec.png" -exec mogrify -trim {} \;

Perhatikan bahwa ada cara yang lebih efisien untuk melakukan ini, tetapi cara tersebut kurang dapat dibaca dan hanya benar-benar bermanfaat jika Anda memiliki puluhan ribu file, atau lebih. Bagi siapa saja yang tertarik, itu berarti menggunakan GNU Parallel dan/atau memangkas lebih dari satu file per permintaan ImageMagick untuk mengamortisasi waktu pembuatan proses lebih dari beberapa file dengan lebih baik.

3
Mark Setchell 10 Juli 2020, 08:56