>  기사  >  백엔드 개발  >  imagick을 사용하여 PHP_php 기술로 PSD 파일 썸네일을 생성하는 방법에 대한 튜토리얼

imagick을 사용하여 PHP_php 기술로 PSD 파일 썸네일을 생성하는 방법에 대한 튜토리얼

WBOY
WBOY원래의
2016-05-16 20:24:461047검색

1단계, ImageMagick 설치

먼저 ImageMagick http://imagemagick.org/script/binary-releases.php#windows를 설치해야 합니다. 왜냐하면 imagick은 PHP에서 ImageMagick 함수를 호출하는 데 사용할 수 있는 PHP 확장이기 때문입니다. . (현재 최신 버전은 ImageMagick-6.8.9-5-Q16-x64-dll.exe입니다)

설치 디렉터리에는 공백이 있어서는 안 됩니다. 저는 개인적으로 C 드라이브의 루트 디렉터리에 설치했습니다.

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

C:이미지매직

기본적으로 모두 설치할 수 있습니다. 설치가 완료된 후 CMD 명령줄 인터페이스를 열고 변환을 입력한 후 Enter 키를 누르면 설치가 성공한 것입니다.

"변환은 내부 또는 외부 명령이 아니며 실행 가능한 프로그램이나 배치 파일이 아닙니다." 또는 "변환할 드라이브 문자를 입력하십시오"(변환은 FAT32를 NTFS로 변환하는 기본 시스템 명령입니다)라는 메시지가 표시되는 경우 ImageMagick 설치 경로를 시스템 경로에 직접 추가해야 합니다.

내 컴퓨터-> 속성-> 환경 변수-> "경로" 찾기-> 추가됩니다.

2단계, imagick 설치

 다운로드하려면 여기를 클릭하세요. 다운로드 시 해당 PHP 버전을 다운로드해야 합니다. 또한 시스템이 32비트인지 64비트인지, PHP가 NTS인지 TS인지도 확인하세요. 버전 (현재 최신 안정 버전은 3.1입니다. 2. PHP가 NTS 버전인지 TS 버전인지 확인하는 방법은 phpinfo를 통해 Thread Safety 항목을 확인할 수 있습니다. 활성화되어 있으면 TS 버전을 의미하고, 그렇지 않으면 NTS 버전입니다)

다운로드한 압축 패키지를 추출하고 php_imagick.dll 파일을 찾아 PHP 확장 디렉터리에 넣은 다음 php.ini 파일을 열고 해당 위치에 다음 줄을 추가합니다.

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

확장자=php_imagick.dll

적용되도록 하려면 컴퓨터를 저장하고 종료한 후 다시 시작하세요.

세 번째 단계, 점검

모든 것이 정상이라면 다시 시작한 후 phpinfo에서 다음과 같은 imagick 항목을 볼 수 있습니다:

찾지 못할 경우 첫 번째 단계로 돌아가서 다른 버전의 ImageMagick으로 변경한 후 다시 설치하고 디버그하세요.

4단계, 테스트

이제 코드 작성을 시작할 수 있습니다. 프로세스에 대해 자세히 설명하지 않고 코딩만 시작하면 됩니다.

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

error_reporting(E_ERROR | E_WARNING);

$im = 새로운 Imagick('1.psd');
$im->setImageIndex(0);
$im->setIteratorIndex(0);
$im->stripImage(); //이미지 정보 제거
$im->setImageCompressionQuality(80) //이미지 품질
$im->writeImage('1.jpg');

위의 코드는 테스트되었으며 1.jpg 그림을 올바르게 생성할 수 있습니다.

png 형식은 압축을 지원하지 않으므로 썸네일은 jpg 형식을 사용하는 것이 좋습니다. 테스트할 때 생성된 png 썸네일이 3M 이상이었는데 jpg는 약 30M 정도였습니다. 200KB이고 생성된 png 이미지는 3,4초 정도 소요될 정도로 속도가 확실히 매우 느립니다.

또한 jpg 썸네일 생성을 위해 600M에 가까운 PSD 파일을 사용하여 극단적인 테스트를 진행했으며, 속도는 기본적으로 2초 이내였으며, 이미지 크기는 수정되지 않았기 때문에 파일 크기도 2.5M 미만이었습니다. 최종 생성된 파일 크기는 실제 상황에 따라 줄어들 수 있습니다.

5단계, 기타 형식

PSD 파일 외에도 MP4, AVI, 기타 동영상 형식 등 다른 형식도 시도해 보았지만 생성 속도가 엄청나게 느렸습니다. 마지막으로 PDF 파일의 썸네일을 생성하는 것이 더 실용적인 방법이라는 것을 알았으나 PDF 파일을 처리하기 전에 Ghostscript를 설치해야 하며 그러면 전체 코드는 기본적으로 PSD 생성 코드와 동일합니다

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

$im = 새로운 Imagick();
$im->readImage('D:/soft/wamp/www/test/1.pdf[0]');
//echo $im->getNumberImages();
$im->writeImages('D:/soft/wamp/www/test/1.jpg', false);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.