배치 이미지 자동 자르기, 고정 너비 적용 및 종횡비 유지 어렵습니다. 간단히 말해서이 이미지의 사용법은 온라인

내가하려는 일에 대한 해결책을 찾기가 어렵습니다.

간단히 말해서이 이미지의 사용법은 온라인 상점을위한 것입니다.

오 티오 자르기 테두리를 사용한 IrfanView 배치 처리는 기본적으로 자르기를 정렬합니다. 처리중인 이미지에 흰색 / 검정색 또는 균일 한 경계선이 있으면 잘라 내야합니다.

그러나 이미지를 완벽한 정사각형으로 유지해야합니다. 300×300 픽셀처럼

예를 들어, 자르는 이미지의 초점이 길면 위쪽과 아래쪽에 도달 할 때까지 공백 / 여백을 자릅니다. 그런 다음 왼쪽과 오른쪽의 크기가 길이와 같은 지점으로 만 왼쪽과 오른쪽을 자릅니다. 공백 (여백)의 일부만 제거하거나 필요하면 공백 (여백)을 추가하십시오.



답변

imagemagick놀라운 옵션이 -trim있습니다. -size약 1 년 전 4500 장의 사진에 빈 단색 테두리를 제거하고 제품을 유지하기 위해 그것을 사용하는 것을 기억 합니다. 모든 이미지를 디렉토리에 넣고 a빈 디렉토리 를 만드는 것을 기억합니다 b. 그런 다음 디렉토리에서 a같은 것을 사용하여

for i in *; do convert-im6.q16 $i -trim -resize 300 ../b/$i; done

그런 다음 약 1 시간 동안 기다렸고 b단색 배경이 자르고 너비가 300 픽셀 인 4500 개의 이미지가 디렉토리에있었습니다 . 이 convert-im6.q16명령은 다른 시스템 convert또는 이와 유사한 시스템에서 약간 다르게 명명 될 수 있습니다 .


답변

IrfanView를 사용하여 실행 가능한 솔루션을 달성했습니다.

파일에서 일괄 변환 / 이름 바꾸기 사용 >> 단순히 입력 파일 대화 상자에 이미지를 추가합니다.

  1. 일괄 변환 설정에서 고급 옵션을 사용한 다음 고급을 클릭하십시오.

  2. 크기 조정을 선택하고 새 크기 설정을 선택한 다음 하나 또는 둘 다 설정을 선택하십시오. 높이 / 너비에서 같은 크기를 입력하십시오 (300px 사용). 이 작업은 이미지를 해당 크기의 최대 지점으로 크기를 조정합니다. 따라서 이미지가 세로인지 가로인지에 따라 가장 큰 크기가 필요하며 300px가됩니다. 가로 세로 비율을 유지하면 다른 쪽도 비례 적으로 조정됩니다.

  3. 또한 Smart Crop도하고 싶습니다. IrfanView의 경우 자동 자르기 테두리라고합니다. 크기 조정 대화 상자의 오른쪽에이 설정이 표시됩니다.

완료하기 전에 먼저 자르기를 수행 한 다음 크기를 조정해야합니다. 그렇지 않으면 300px보다 작은 것으로 끝납니다. 왜냐하면 처음 300px로 크기 조정 한 다음 그 후에 자르기 때문입니다 … 결과를 상상할 수 있습니다.

  1. 따라서 오른쪽 하단에서 사용자 정의 처리 순서를 선택하고 순서 변경을 클릭하십시오. 자동 자르기 테두리를 맨 위로 이동합니다. 확인을 클릭하고 다시 확인을 클릭하면 변환 할 준비가됩니다. 클릭 시작 배치.

이것은 내 정확한 질문을 정확하게 해결하지는 못했지만 300px로 가장 큰면을 얻을 수 있고 크기 조정 전에 스마트 자르기가 가능한 한 중요하지 않습니다. HTML에서 CSS로 수행 할 수있는 나머지는 실제로 더 나은 솔루션 일 수 있습니다.


답변

원본 이미지에 실제 검은 색 또는 흰색 테두리가없고 그러한 이미지를 만들지 않으려면 Imagemagick을 사용할 수 있습니다 convert.

convert in.jpg -geometry 300x300^ -gravity center -crop 300x300+0+0 out.jpg

캐럿 ( ^)은 이미지가 너비와 높이를 모두 채우도록합니다.

그러나 -geometry매개 변수를 사용하면 정사각형 소스 자료가 없다고 가정하면 측면 중 하나가 너무 큰 이미지로 남겨집니다. 따라서 최종 이미지 해상도를 얻으려면 가운데를 잘라야합니다. +0+0컷오프 파트는 필요하지 않기 때문에 분리 된 파일로 분리하지 않습니다.

소스 이미지에 실제로 테두리가있는 경우 -trim바로 다음 을 사용해보십시오 in.jpg.


답변

투명 픽셀을 자르고 싶다는 점에서 요구 사항이 약간 달랐지만 테두리를 제거하는 것과 기능적으로 동일 할 수 있습니까? 아마도.

이 답변들 중 어느 것도 나를 위해 일하지 않았습니다. 현상금을 배치 한 후 검색을 계속 extent하고 누락 된 부분을 발견했습니다 .

magick convert *.png -trim -background none -resize 300x300 -gravity center -extent 300x300 out/processed.png

내가 이해하는 한, 각 매개 변수의 기능은 다음과 같습니다.

  • -trim: 모든 투명 픽셀 다듬기 (왼쪽, 오른쪽, 위쪽, 아래쪽)
  • -background none: 크기 조정을 위해 투명성을 유지합니다 (순서는 중요합니다!)
  • -resize 300x300: 최대 너비와 높이를 300으로 만듭니다 . 정사각형으로 만들지 않습니다 .
  • -gravity center: 이미지를 중앙에 배치합니다 (필요하지 않을 수도 있고 크기 조정 및 범위와 함께 작동 할 수도 있고 많이 테스트하지 않았습니다).
  • -extent 300x300: 캔버스의 크기를 조정하여 다시 정사각형으로 만듭니다.

기본적으로 3 단계로 변환됩니다.

  1. 투명한 가장자리 제거
  2. 너비 / 높이가 300 픽셀을 넘지 않도록 크기를 조정하십시오.
  3. 너비와 높이를 모두 300 픽셀로 만듭니다.

답변