투명도가있는 PNG 이미지가 있으며 이미지 레이어가 흰색 배경으로 구성된 버전을 만들어야합니다. Image Magick “convert”작업으로 다양한 작업을 시도했지만 아무 일도 일어나지 않거나 오류가 발생합니다. 아티팩트를 원하지 않기 때문에 중간 JPG 양식으로 가고 싶지 않습니다. 물론 Gimp 또는 Photoshop 등에서이 작업을 수행하는 것은 쉽지만 실제로는 명령 줄에서 스크립트를 작성하는 것이 좋습니다.
작동하지 않는 Image Magick 명령의 예는 다음과 같습니다.
convert img1.png -background white -flatten img1-white.png
오류가 발생합니다.
감사!
답변
이것은 나를 위해 작동합니다 :
convert -flatten img1.png img1-white.png
문서 참조 :
-flatten
명령 줄 옵션-layers
명령 행 옵션 (-flatten
과 동일-layers flatten
)
답변
-background white -alpha remove -alpha off
예:
convert image.png -background white -alpha remove -alpha off white.png
white
원하는 다른 색상으로 자유롭게 교체하십시오 . Imagemagick 문서는이 -alpha remove
작업 에 대해 다음과 같이 말합니다 .
이 작업은 간단하고 빠르며 추가 메모리 사용이나 다른 투명도 제거 기술과 관련 될 수있는 다른 부작용없이 작업을 수행합니다. 따라서 이미지 투명도를 제거하는 기본 방법입니다.
답변
ImageMagick에서 이미지 병합 및 배경 이미지 적용이 간단합니다.
그러나 명령의 순서는 매우 중요합니다
투명한 이미지에 배경을 적용하고 병합하려면 먼저 배경을 평평하게하는 것보다 적용하십시오. 반대로 작동하지 않습니다.
$ convert sourceimage.png -background BackgroundColor -flatten destinationimage.png
답변
나를 위해 일한 유일한 것은 모든 대답의 혼합이었습니다.
convert in.png -background white -alpha remove -flatten -alpha off out.png
답변
디렉토리의 모든 폴더에서 동일한 이미지를 투명 대신 흰색으로 바꾸는 방법은 다음과 같습니다.
mogrify -background white -flatten */*.png
답변
-flatten을 사용하면 작물을 자르고 크기를 조정하는 것이 효과가 없기 때문에 -flatten을 사용하면 완전히 화가났습니다. 공식 및 저에게 올바른 방법은 알파 채널을 “제거”하는 것입니다.
-alpha remove -alpha off (JPG에는 필요하지 않음)
설명서 참조 : http://www.imagemagick.org/Usage/masking/#remove
답변
ImageMagick 사용 설명서 의 알파 제거 섹션은 다음 과 같은 옵션 사용을 제안합니다 .-alpha remove
convert in.png -background white -alpha remove out.png
… -background
선택한 색상을 사용합니다 .
가이드 상태 :
이 작업은 간단하고 빠르며 추가 메모리 사용이나 다른 투명도 제거 기술과 관련 될 수있는 다른 부작용없이 작업을 수행합니다. 따라서 이미지 투명도를 제거하는 데 선호되는 방법입니다.
메모를 추가합니다.
투명도를 ‘제거’하는 동안 알파 채널은 계속 켜져 있지만 완전히 불투명합니다. 알파 채널이 더 이상 필요하지 않으면 알파 끄기를 사용하여 알파 채널을 비활성화 할 수 있습니다.
따라서 알파 채널이 필요하지 않은 경우 다음 -alpha off
과 같은 옵션 을 추가하여 출력 이미지 크기를 더 작게 만들 수 있습니다 .
convert in.png -background white -alpha remove -alpha off out.png
이미지에서 투명도 제거 섹션에 설명 된 투명성을 제거하기 위해 자주 사용되는 다른 기술에 대한 자세한 내용이 있습니다 .
이 섹션에는 -flatten
투명성을 제거하는 기술로 사용되는 중요한 경고에 대한 언급이 있습니다 .
그러나 기본적으로 “평평한”연산자는 여러 이미지를 단일 이미지로 병합하도록 설계 되었기 때문에 “mogrify”또는 여러 이미지 시퀀스에서는 작동하지 않습니다.
따라서 한 번에 여러 이미지를 변환하는 경우 (예 : PDF 파일에서 축소판 생성) -flatten
원하는 작업을 수행하지 않습니다 (모든 페이지의 모든 이미지를 하나의 이미지로 병합합니다). 반면 -alpha remove
에이 기술을 사용 하면 여전히 투명도가 제거 된 여러 이미지가 생성됩니다.