Я пытаюсь добавить скругленные углы к своему использованию изображений 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: получающееся изображение со скругленными углами.
Заранее спасибо.
Наконец нашел решение:
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
Иначе: сгладьте изображение, как было сказано ранее.
Надеюсь, что это поможет.