2016-07-16 4 views
0

나는이 스크립트를 작성했으나 정상적으로 작동하지만 여분의 임시 이미지없이 즉석에서 모든 작업을 수행하고 싶습니다.하나의 명령에 모그 화를 적용하는 방법

설명 : 나는 깨진 이미지 파일이 많으며 각 이미지 아래에 원을 그리기를 원합니다. 이를 위해 나는 임시 이미지 circle.png을 만들 필요가 다음 각 이미지 아래에 배치하는 "이미지 DstOver"를 사용

mogrify -fill red -draw "DstOver translate 100,100 circle 0,0 100,0" images/*.png 

하지만이 :의 라인을 따라

convert -size 200x200 xc:transparent -fill red -draw 'translate 100,100 circle 0,0 100,0' circle.png 
mogrify -draw "image DstOver 0,0 0,0 'circle.png'" images/*.png 

뭔가 "DstOver"와 같은

mogrify: non-conforming drawing primitive definition `DstOver' @ error/draw.c/DrawImage/3169. 

답변

1

구성 운영자는 "영상" "-draw"의 원시적으로 사용됩니다 내가 DstOver을 두는 곳없이 항상 나에게 오류를 제공하지 않습니다. 그냥 생략하십시오. ImageMagick commandline 설명서의 "-draw"항목을 참조하십시오.

"원형 ..."과 같은 일부 그림과 "이미지 DstOver ..."와 같은 여러 가지 "그리기"옵션을 가질 수 있습니다.

+0

아, 그래서 아래에 아무것도 넣을 수 없습니다. 이미지가 흐트러 뜨림? 어쩌면 이미지가 xc :? –

+1

예, "이미지"프리미티브를 제외하고는 composite_operator를 허용하지 않으며 -draw는 전역 작성 연산자를 무시한다는 점이 -draw의 한계입니다. 그리고 -compose 옵션을 받아들이지 않는다는 것은 모그 리즘의 한계입니다. Magick에 추가 할 수있는 유용한 기능 중 하나 또는 둘 다입니다. –

+0

글쎄, 이런 불량 도구조차도 모든 것을 할 수 없다는 것을 알기에 좋다 .. (아직). 적어도 임시 이미지로 작업 할 수 있으므로 여전히 멋진 작업입니다! 고맙습니다! –

1

내가 무엇을 하려는지 확실하지 않지만, mogrifymulti-image operators 또는 stack operators으로 무엇이든 할 수 있습니다. 내가 아는 유일한 예외는 -draw image 운영자, 그래서 당신은을 사용하여 다음 이미지 선행을 작성해야합니다

# Blue rectangle with transparent centre 
convert -size 200x200 xc:none -bordercolor blue -border 50 start.png 

enter image description here

# Your circle 
convert -size 200x200 xc:white -fill red -draw 'translate 100,100 circle 0,0 100,0' circle.png 

enter image description here

# Now underlay 
mogrify -draw "image DstOver 0,0 0,0 'circle.png'" start.png 

enter image description here

+0

예, 그게 제가 이미하고있는 일입니다. 문제의 코드를보십시오. 어쨌든 자세한 설명을위한 thx! –

+0

그냥 내 질문을 읽고 그것이 실제로 뭐하고 있는지 설명을 추가, 미안;) –