ImageMagick은 널리 사용되는 TIFF, JPEG, GIF, PNG, PDF 및 PhotoCD 등 형식을 포함하여 185개 이상의 기본 형식으로 이미지 파일을 읽고, 쓰고, 처리하는 데 사용할 수 있는 강력하고 안정적인 무료 도구 세트 및 개발 패키지입니다. ImageMagick을 사용하면 웹 애플리케이션의 필요에 따라 이미지를 동적으로 생성할 수 있으며, 크기를 변경하고, 회전하고, 선명하게 하고, 색상을 줄이고, 이미지(또는 이미지 그룹)에 특수 효과를 추가하고 결과를 저장할 수도 있습니다. 같은 형식으로 저장하거나 다른 형식으로 저장하세요.
PHP가 imagick을 통해 PSD 파일 썸네일을 생성하도록 합니다
첫 번째 단계는 ImageMagick을 설치하는 것입니다
먼저 ImageMagick 을 설치해야 합니다. 왜냐하면 imagick은 PHP에서 다음 작업을 수행하는 데 사용할 수 있는 PHP 확장이기 때문입니다. ImageMagick 함수를 호출합니다. (현재 최신 버전은 ImageMagick-6.8.9-5-Q16-x64-dll.exe입니다.)
설치 디렉터리에는 공백이 없어야 합니다. 저는 개인적으로 C드라이브 루트 디렉터리에 설치합니다.
C:\ImageMagick
그냥 설치하세요. 기본적으로 설치가 완료되면 CMD 명령줄 인터페이스를 열고 변환을 입력하고 Enter 키를 누르면 설치가 성공한 것입니다.
"변환은 내부 또는 외부 명령이 아니며, 실행 가능한 프로그램이나 배치 파일도 아닙니다" 또는 "변환할 드라이브 문자를 입력하십시오"(변환은 FAT32를 NTFS로 변환하는 기본 시스템 명령입니다)라는 메시지가 표시되면 ImageMagick의 설치 경로를 시스템 경로에 직접 추가해야 합니다.
내 컴퓨터-> 속성-> 환경 변수-> "경로" 찾기-> 설치 경로.
두 번째 단계, imagick을 설치하세요
다운로드하려면 여기를 클릭하세요. 다운로드 시 해당 PHP 버전에 주의하세요. 또한 시스템이 32비트인지 64비트인지, PHP가 NTS인지도 확인하세요. 버전 또는 TS 버전(현재 최신 버전 안정 버전은 3.1.2입니다. PHP가 NTS 버전인지 TS 버전인지 확인하는 방법은 phpinfo를 통해 Thread Safety 항목을 확인할 수 있습니다. 활성화되어 있으면 TS 버전, 그렇지 않으면 NTS 버전)
다운로드한 파일을 압축합니다. 패키지의 압축을 풀고 php_imagick.dll 파일을 찾아 PHP 확장 디렉터리에 넣은 다음 php.ini 파일을 열고 다음 줄을 추가합니다. 해당 위치:
extension=php_imagick.dll
저장하고 종료한 후 컴퓨터를 다시 시작하여 적용되는지 확인하세요.
적용되지 않으면 압축 패키지의 모든 "CORE_RL_*.dll" 파일을 다음과 같은 PHP 루트 디렉터리에 복사하세요. D:php5.6
3단계, 확인
모든 것이 제대로 되어 있는지 확인하세요. phpinfo에서 다음과 같은 imagick 항목을 볼 수 있어야 합니다.
찾을 수 없으면 첫 번째 단계로 돌아가서 다른 버전의 ImageMagick으로 변경하고 다시 설치한 후 다시 디버그하세요.
네 번째 단계, 테스트
좋아, 이 단계에서는 코드 작성을 시작할 수 있습니다. 프로세스에 대해 자세히 설명하지 않고 코드로 이동하세요.
error_reporting(E_ERROR | E_WARNING); $im = new 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는 약 200KB에 불과했습니다. , 그리고 png 이미지를 생성하는 속도는 3~4초 정도로 매우 느립니다.
또한 jpg 썸네일 생성을 위해 600M에 가까운 PSD 파일을 사용하여 극단적인 테스트를 진행했으며, 이미지 크기를 수정하지 않았기 때문에 속도는 기본적으로 2초 이내였으며 파일 크기도 2.5M 미만이었습니다. , 최종 파일이 생성되었습니다. 실제 상황에 따라 볼륨이 줄어들 수 있습니다.
5단계, 다른 형식
PSD 파일 외에도 MP4, AVI 및 기타 비디오 형식과 같은 다른 형식도 시도했지만 생성 속도가 매우 느립니다. 마지막으로 가장 실용적인 것은 PDF 파일의 썸네일을 생성하는 것이라는 점을 알았지만 PDF 파일을 처리하기 전에 Ghostscript를 설치해야 하며 그러면 전체 코드는 기본적으로 PSD
$im = new Imagick(); $im->readImage('D:/soft/wamp/www/test/1.pdf[0]'); //echo $im->getNumberImages(); $im->writeImages('D:/soft/wamp/www/test/1.jpg', false);
를 생성하는 코드와 동일합니다. 더 많은 PHP 관련 지식을 보려면 php 튜토리얼 을 방문하세요!
위 내용은 PHP가 imagick을 통해 PSD 파일 썸네일을 생성하도록 하는 방법(예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!