Sebagai alternatif: Bagaimana cara mengambil PNG non-kuadrat dan "mengisi" sisa "gambar dengan transparansi sehingga gambar persegi yang dihasilkan memiliki gambar asli terpusat di alun-alun?
Pada akhirnya, yang saya inginkan adalah mengambil gambar apa pun dari format apa pun yang didukung GM dari ukuran apa pun, dan membuat PNG yang diperkecil (katakanlah, maksimum 40 piksel untuk dimensi mana pun), dengan rasio aspek dipertahankan, transparansi berlapis untuk non-persegi gambar asli, DAN dengan topeng transparansi PNG 40x40 yang sudah disiapkan diaplikasikan.
Saya sudah tahu cara menurunkan skala dan menjaga rasio aspek; Saya sudah memiliki perintah untuk menerapkan komposit saya. Satu-satunya bagian saya yang hilang adalah gambar non-bujur sangkar persegi (padding dengan transparansi).
Perintah tunggal lebih disukai; rantai multi-perintah dapat diterima.
(edit)
Info tambahan: Inilah perintah gabungan yang saya gunakan:
gm composite -compose copyopacity mask.png source-and-target.png source-and-target.png
di mana mask.png memiliki piksel putih untuk apa yang ingin saya simpan dari source-dan-target.png dan piksel transparan untuk apa yang ingin saya hapus (dan menjadi transparan) dari source-and-target.png.
composite
?-filter Catrom
sebelumthumbnail
opsi karena dari pengalaman saya umumnya menghasilkan gambar berkualitas lebih tinggi.Satu perintah untuk mengonversi semua PNG dari satu folder:
mogrify adalah perintah dari paket ImageMagick. Anda harus membuat direktori keluaran terlebih dahulu.
sumber
-path resized
untuk mengedit file di tempat.gm mogrify
dan alih-alih-path resized
, gunakan-create-directories -output-directory resized
Inilah yang akhirnya saya ikuti. Proses dua langkah:
Di mana mask.png adalah piksel putih untuk apa yang ingin saya simpan, dan piksel transparan untuk apa yang ingin saya tutupi (buang).
sumber