0

크기가 4000 * 4000 인 큰 크기의 큰 이미지가 있습니다. 나는 이미지에 다양한 작업을 수행 할 :ImageMagick을 효율적으로 연결하고 명령을 변환하여 이미지를 만들지 마십시오

convert a.jpg -crop [email protected] +repage +adjoin tile_6_%d.jpg 
convert a.jpg -crop [email protected] +repage +adjoin tile_9_%d.jpg 
convert a.jpg -crop [email protected] +repage +adjoin tile_3_%d.jpg 

convert a.jpg -resize 120x120 thumbnail.jpg 

따라서 나는

  convert a.jpg \ 
     \(+clone -resize 66% -crop [email protected] +repage +adjoin -write tile_6x6_%d.jpg +delete \) \ 
     \(+clone -resize 33% -crop [email protected] +repage +adjoin -write tile_3x3_%d.jpg +delete \) \ 
     \(+clone -crop [email protected] +repage +adjoin -write tile_9x9_%d.jpg +delete \) \ 
       -density 150 -quality 50  -resize 120x120  thumbnail.jpg 

그런 짓을하려고 36+81+9+1 = 127

의 배치를 작성하지만이 원하는 작동하지 않습니다 250 파일을 생성합니다. 여기서 뭐가 잘못 됐니? 이 모든 명령을 연결하는 가장 좋은 방법은 무엇입니까?

답변

0

+delete은 이미지 시퀀스의 마지막 이미지 만 삭제합니다. -delete 0--1을 원한다면 0부터 -1까지의 이미지를 삭제해야합니다. 음수 인 경우 -1은 시퀀스의 마지막 이미지를 나타냅니다.

정교하게 설명하기 위해 각각의 -crop 명령은 여러 개의 이미지를 생성하므로 디스크에 기록한 후 스택에서 모든 이미지를 삭제해야합니다. 이와 같이 복잡한 변환 명령 행을 사용하여 작업 할 때 이미지 스택에서 어떤 일이 일어나는지 알 수있는 좋은 방법은 -write info:을 삽입하는 것입니다.

관련 문제