Использование скругленных углов ImageMagick (фон, прозрачный или белый)

Я пытаюсь добавить скругленные углы к своему использованию изображений ImageMagick.

Если входным изображением является PNG или файл GIF, мой сценарий работает правильно.

Но если мой входной файл является файлом JPEG, углы являются черными. Я хотел бы использовать пользовательский угловой цвет в этом случае (напр. белый) какая-либо идея?

Вот мой рабочий сценарий удара:

convert -size "$W"x"$H" xc:none -draw "roundrectangle 0,0,$W,$H,$R,$R" $MASK
convert $SRC -matte $MASK -compose DstIn -composite $DST

Параметры:

$SRC: входной $W изображения: ширина входа отображает $H: высота входа отображает $MASK: рисунок маски, который содержит прозрачный угловой $DST: получающееся изображение со скругленными углами.

Заранее спасибо.

7
задан Spudley 28 April 2011 в 22:51
поделиться

1 ответ

Наконец нашел решение:

convert -size "$W"x"$H" xc:none -draw "roundrectangle 0,0,$W,$H,$R,$R" $MASK
convert $SRC -matte $MASK -compose DstIn -composite $TMP_PNG

Я использую «временный» PNG-файл в качестве места назначения. Если выходной формат не GIF или PNG, я использую функцию «сглаживания» ImageMagick с белым цветом в качестве фона.

convert $TMP_PNG -background white -flatten $DST

Для вывода PNG: просто скопируйте $ TMP_PNG в $ DST

Для вывода GIF: просто конвертируйте $ TMP_PNG в $ DST

Иначе: сгладьте изображение, как было сказано ранее.

Надеюсь, что это поможет.

12
ответ дан 6 December 2019 в 21:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: