Trasferisci la trasparenza da un'immagine all'altra usando imagemagick


0

Sto cercando di prendere il canale alfa da un'immagine e applicarlo a un altro.

In questo caso particolare voglio "sistemare" gli angoli su quello rosa. Voglio usare il canale alfa da quello nero. Questo dovrebbe lisciare bene gli angoli.

source-1 alpha-1

source-corner alpha-corner

Ho provato comandi come convert pink.png black.png -compose copy-opacity -composite out.png ma sembra solo uscire con la stessa trasparenza che aveva già.

Qualcuno può spiegare come farlo?

Risposte:


0

Risposta diretta

Per farlo in modo che pink.png ha lo stesso canale alfa di black.png uso:

convert pink.png black.png -compose CopyOpacity -composite PNG32:fixed.png

Spiegazione

Il problema fondamentale era che Imagemagick non stava scegliendo un formato PNG che supporta i pixel semitrasparenti. Questo è il motivo per cui i miei bordi sono diventati frastagliati quando stavo cambiando il colore in primo luogo. Hai diverse opzioni per mantenere la trasparenza parziale:

convert (command) PNG32:out.png
convert (command) PNG64:out.png
convert (command) out.tif

Fare riferimento a Imagemagick's documentazione su sotto-formati PNG per scoprire quale tipo di canale alfa ha ciascuno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.