>  기사  >  웹 프론트엔드  >  이미지 크기 조정, 합성 및 자르기에 ImageMagick 사용(js Python)_javascript 기술

이미지 크기 조정, 합성 및 자르기에 ImageMagick 사용(js Python)_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:22:312196검색

최근 프로젝트에서는 책 표지를 가공해야했는데, 그림자 선을 추가하여 척추의 요철 느낌을 형성한 다음 척추를 잘라서 클라이언트가 사용할 수 있도록 두 부분으로 나누었습니다. 오프닝 애니메이션을 구현해보세요. 서버측에서 처리해야 하기 때문에 imagemagick의 활용법을 연구하겠습니다. 동시에 Node.js와 Python 메서드를 캡슐화하고 이에 대해 주로 설명한 다음 imagemagick을 사용하여 그림의 크기를 조정하고 합성하고 잘라낼 것입니다.

먼저 소재 파일은 다음과 같습니다. (왼쪽 표지는 미처리, 오른쪽은 합성해야 할 그림자입니다)

fmsc

ImageMagick 설치 과정은 따로 다루지 않겠습니다. 공식 홈페이지에서 설치 방법을 참고하세요: http://www.imagemagick.org/script/install- source.php

먼저 표지 이미지 file.png의 높이를 1024로 조정하고 newfile.png를 생성하여 그림자 이미지와의 합성을 용이하게 합니다.

코드 복사 코드는 다음과 같습니다.
convert -resize x1024 file.png newfile.png


스케일링을 위한 변환 방법은 다음과 같습니다.

convert -resize 1024 file.jpg newfile.jpg
이미지의 너비는 1024이고, 높이는 다음과 같이 계산됩니다. 원본 이미지 비율

convert -resize x768 file.jpg newfile.jpg
Get 이미지 높이는 768이고 너비는 원본 이미지 비율을 기준으로 계산됩니다.

convert -resize 1024×768! file.jpg newfile.jpg
원본 이미지의 너비와 높이 비율에 관계없이 고정된 너비와 높이 비율로 이미지를 지정된 크기로 조정합니다.

convert -resize “1024×768>” file.jpg newfile.jpg
src.jpg의 너비가 1024보다 크거나 높이가 768보다 큰 경우에만 축소됩니다. newfile.jpg와 file.jpg의 크기는 동일합니다.

convert -resize “1024×768<” file.jpg newfile.jpg
src.jpg의 너비가 1024보다 작거나 높이가 768보다 작은 경우에만 확대됩니다. newfile.jpg와 file.jpg의 크기는 동일합니다.

다음 단계는 섀도우 파일을 표지에 결합하는 것입니다(왼쪽 상단에서 yy.png를 file.png로 합성하여 newfile.png 생성).

코드 복사 코드는 다음과 같습니다.
composite -gravity northwest yy.png file.png newfile.png


주요 설명은 다음과 같습니다. - 중력 매개변수:

-중력 북서쪽은 오른쪽 상단을 의미합니다
중간에 있어야 할 경우 매개변수는 중심입니다
필요한 경우 오른쪽 하단에 있을 경우 매개변수는 남동쪽
기타는 방향을 기준으로 합니다

합성 후 결과는 다음과 같습니다.

fmyy

마지막 단계는 이미지를 자르는 것입니다. 이미지를 그림자 부분 left.png와 다른 부분 right.png로 나눕니다.

코드 복사 코드는 다음과 같습니다.

왼쪽: 변환 file.png -gravity southwest -crop 31x1024 0 0 left.png
right: 파일 변환 png -gravity southeast -crop 737x1024 0 0 right.png


자르기 방법은 다음과 같이 조정됩니다.

convert file.png -crop widthxheight x y newfile
여기서 widthxheight는 대상 이미지의 크기, x y는 원본 이미지의 좌표점, 이 두 값 세트는 적어도 하나의 세트에 나타나야 하며 동시에 존재할 수도 있습니다. 시간. 또한 이 명령은 중력을 사용하여 좌표계를 재정의할 수도 있습니다.

최종 결과는 다음과 같습니다.

fmwc

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.