이미지를 특정 직사각형 영역으로 자르는 방법
이미지 데이터와 왼쪽·위쪽·오른쪽·아래쪽 숫자 경계를 입력하면 직사각형 영역을 잘라낼 수 있습니다. 성공한 결과는 잘린 이미지의 base64 데이터로 반환됩니다.
이미지에서 원하는 직사각형 영역 자르기
이미지의 일부만 따로 사용해야 할 때 이 도구로 직사각형 영역을 잘라낼 수 있습니다. 입력에는 자르려는 이미지 데이터와 영역을 정하는 네 개의 숫자가 필요합니다. 네 숫자는 왼쪽, 위쪽, 오른쪽, 아래쪽 경계를 뜻합니다. 예를 들어 문서 이미지에서 본문 일부를 분리하거나, 사진에서 특정 부분만 추출하려는 경우에 사용할 수 있습니다.
좌표는 백분율이나 비율이 아닙니다. 디코딩된 이미지의 가로와 세로 크기를 기준으로 적용되는 숫자 경계값입니다. 따라서 이미지의 크기가 달라지면 같은 숫자를 입력해도 잘리는 위치가 달라질 수 있습니다. 이미지의 실제 크기를 먼저 확인하고, 그 크기에 맞춰 경계를 정하는 편이 좋습니다.
이 기능은 이미지 전체를 새로 편집하는 도구가 아니라 선택한 직사각형 영역을 추출하는 도구입니다. 입력 이미지와 좌표를 준비한 다음 결과가 필요한 영역에 해당하는지 확인하면 됩니다. 입력값을 생략할 수 있는 항목이 있더라도 이미지 데이터가 비어 있으면 처리를 계속할 수 없으므로, 사용 전에 이미지 데이터가 들어 있는지 살펴보세요.
사용 방법
-
자르려는 이미지의 데이터를 이미지 데이터 입력란에 넣습니다. 입력값이 빈 값이면 처리가 진행되지 않으므로, 이미지 데이터가 실제로 포함되어 있는지 확인합니다. 이미지 데이터는 도구가 디코딩한 뒤 이미지로 열 수 있어야 합니다. 단순히 문서에 적힌 파일 이름이나 이미지의 위치 정보만 넣는 것이 아니라, 처리할 이미지 데이터 자체를 준비해야 합니다.
-
자르기 영역의 경계를 네 개의 숫자로 입력합니다. 왼쪽 경계는
left, 위쪽 경계는top, 오른쪽 경계는right, 아래쪽 경계는bottom에 해당합니다. 별도 값을 지정하지 않을 때의 기본값은 왼쪽 0, 위쪽 0, 오른쪽 100, 아래쪽 100입니다. 이 기본값을 그대로 사용할지, 이미지 크기와 필요한 영역에 맞춰 바꿀지 결정합니다. -
숫자의 의미를 이미지 크기와 비교합니다. 가로 방향에서는 왼쪽과 오른쪽 경계가 이미지 너비를 기준으로 적용되고, 세로 방향에서는 위쪽과 아래쪽 경계가 이미지 높이를 기준으로 적용됩니다. 좌표를 입력할 때 백분율 기호를 붙이거나 비율로 환산하지 않습니다. 숫자가 이미지 범위를 벗어나더라도 입력값이 그대로 유지된다고 보지 말고, 결과가 경계 안으로 조정될 수 있다는 점을 고려합니다.
-
준비한 입력으로 실행합니다. 왼쪽과 위쪽 값은 이미지 경계 안으로 제한되고, 오른쪽 값은 이미지 너비를 넘지 않도록 제한됩니다. 아래쪽 값도 이미지 높이를 넘지 않도록 제한됩니다. 또한 오른쪽은 왼쪽보다 최소 한 단위 크게, 아래쪽은 위쪽보다 최소 한 단위 크게 조정되어 자르기 영역이 비어 있지 않도록 처리됩니다.
-
반환된 결과를 확인합니다. 성공하면 자른 이미지가 base64 형식의 이미지 데이터로 반환됩니다. 원본 이미지 형식을 확인할 수 있는 경우에는 그 형식으로 저장되고, 원본 형식을 확인할 수 없으면 PNG 형식으로 저장됩니다. 결과를 후속 작업에 사용하기 전에는 반환된 데이터가 의도한 영역을 담고 있는지, 필요한 방식으로 다시 열리는지 확인하세요.
결과 해석과 처리 범위
성공한 결과는 원본 이미지 전체가 아니라 네 경계로 정한 직사각형 영역의 이미지 데이터입니다. 결과를 화면에서 바로 보는 이미지가 아니라 base64로 인코딩된 데이터로 받으므로, 사용하는 다음 단계에서 해당 데이터를 이미지로 해석해야 할 수 있습니다. 저장 형식은 사용자가 별도로 선택하는 값이 아니라 원본 형식을 확인할 수 있는지에 따라 정해집니다.
입력한 좌표와 실제 결과의 영역이 다르게 보인다면 먼저 이미지의 디코딩된 크기와 네 경계를 함께 확인하세요. 이미지 너비보다 큰 오른쪽 값이나 이미지 높이보다 큰 아래쪽 값은 이미지 경계에 맞게 제한됩니다. 왼쪽 또는 위쪽 값도 이미지 경계 안으로 조정됩니다. 특히 왼쪽이 이미지의 끝에 도달한 경우에는 자르기 영역이 비지 않도록 오른쪽 경계가 왼쪽보다 한 단위 크게 조정될 수 있습니다. 위쪽이 끝에 도달한 경우에는 같은 원리로 아래쪽 경계가 조정될 수 있습니다.
처리가 실패하면 이미지 데이터가 빈 값인지, base64로 디코딩한 결과를 이미지로 열 수 있는지 확인합니다. 자르기 과정이나 결과 저장 과정에서 예외가 발생해도 처리가 실패할 수 있습니다. 따라서 좌표만 바꾸기 전에 입력 데이터가 이미지로 처리 가능한지부터 점검하는 것이 효율적입니다. 이미지 크기 변경, 회전, 색상이나 선명도 보정처럼 직사각형 추출을 넘어서는 작업은 이 기능의 결과로 기대하지 말고 별도의 기능을 사용해야 합니다.
사용 예시
큰 문서 이미지에서 본문 일부만 따로 사용하기 위해 가로 100부터 600까지, 세로 50부터 400까지의 영역을 추출합니다.
이미지 데이터 입력란에 1200×800 크기의 이미지 데이터를 넣고, 왼쪽 100, 위쪽 50, 오른쪽 600, 아래쪽 400을 입력한 뒤 실행합니다.
성공하면 지정한 네 경계에 해당하는 잘린 이미지의 base64 데이터가 반환됩니다. 원본 형식을 확인할 수 있으면 해당 형식으로, 그렇지 않으면 PNG 형식으로 저장됩니다.
제한 사항
- 처리 범위는 직사각형 자르기입니다. 크기 변경, 회전, 보정, 출력 형식의 직접 선택은 제공된 동작에 포함되지 않습니다.
자주 발생하는 오류
- 이미지 데이터가 비어 있거나 base64로 디코딩한 값이 이미지로 열리지 않으면 실패할 수 있습니다. 이미지 데이터 입력을 다시 확인하고, 실제 이미지로 디코딩하고 열 수 있는 인코딩 데이터를 넣어 재시도하세요.
자주 묻는 질문
좌표를 백분율로 입력해도 되나요?
안 됩니다. 좌표는 백분율이나 비율이 아니라 디코딩된 이미지의 크기에 적용되는 숫자 경계값입니다. 왼쪽, 위쪽, 오른쪽, 아래쪽 순서로 영역을 정하고 이미지의 실제 너비와 높이를 기준으로 값을 선택하세요.
이미지 데이터 없이 좌표만 입력할 수 있나요?
이미지 데이터가 빈 값이면 처리를 진행할 수 없습니다. 좌표만 입력하는 것으로는 충분하지 않으며, 넣은 데이터가 base64 디코딩 후 이미지로 열리는지도 확인해야 합니다.
자른 결과는 어떤 형식으로 받을 수 있나요?
성공하면 자른 이미지가 base64 형식으로 반환됩니다. 원본 이미지 형식을 확인할 수 있으면 그 형식으로 저장되고, 확인할 수 없으면 PNG 형식으로 저장됩니다. 출력 형식을 별도로 고르는 기능으로 이해하지는 마세요.