소개
php_imagick은 PHP가 ImageMagick 함수를 호출할 수 있게 해주는 PHP 확장입니다. 이 확장을 사용하면 PHP가 ImageMagick과 동일한 기능을 갖게 됩니다.
ImageMagick은 인기 있는 TIFF, JPEG, GIF, PNG, PDF 및 PhotoCD 형식을 포함하여 185개 이상의 기본 형식으로 이미지 파일을 읽고, 쓰고, 처리하는 데 사용할 수 있는 강력하고 안정적인 무료 도구 세트 및 개발 패키지입니다. ImageMagick을 사용하면 웹 애플리케이션의 필요에 따라 이미지를 동적으로 생성할 수 있으며, 크기를 변경하고, 회전하고, 선명하게 하고, 색상을 줄이고, 이미지(또는 이미지 그룹)에 특수 효과를 추가하고 결과를 저장할 수도 있습니다. 같은 형식으로 저장하거나 다른 형식으로 저장하세요.
php_imagick 프로그램 예
1. 썸네일을 생성하고 표시합니다
<?php header('Content-type: image/jpeg'); $image = new Imagick('image.jpg'); // If 0 is provided as a width or height parameter,// aspect ratio is maintained $image->thumbnailImage(100, 0); echo $image; ?>
2. 디렉토리에 썸네일을 생성하고 저장합니다
<?php $images = new Imagick(glob('images/*.JPG')); foreach($images as $image) { // Providing 0 forces thumbnailImage to maintain aspect ratio $image->thumbnailImage(1024,0); } $images->writeImages(); ?>
3. 썸네일 GIF 애니메이션 사진
<?php /* Create a new imagick object and read in GIF */ $im = new Imagick("example.gif"); /* Resize all frames */ foreach ($im as $frame) { /* 50x50 frames */ $frame->thumbnailImage(50, 50); /* Set the virtual canvas to correct size */ $frame->setImagePage(50, 50, 0, 0); }/* Notice writeImages instead of writeImage */ $im->writeImages("example_small.gif", true); ?>
복고풍 효과를 얻기 위해 php_imagick을 사용하는 방법
먼저 렌더링을 살펴보겠습니다
레트로 효과 디스플레이
위의 효과를 얻으려면 먼저 Photoshop을 사용하여 다음 단계를 수행합니다.
원본 이미지 열기
새 레이어를 만들고 #C0FFFF 색상으로 채우고 불투명도를 44%로 설정하고 레이어 혼합 모드를 Soft Light로 설정합니다
새 레이어를 만들고 색상 #000699로 채우고 불투명도를 48%로 설정하고 레이어 혼합 모드를 제외로 설정하세요
레이어 병합
PHP 코드를 사용하려면 위의 단계만 따르면 됩니다. 코드는 다음과 같습니다.
//打开图片 $im = new Imagick('./hebe.jpg'); //新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%` $layer = new Imagick(); $layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#C0FFFF'); $layer->setImageOpacity (0.44); //叠加到原图上,图层混合模式为`柔光` $im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0); //新建图层,使用颜色`#000699`填充后,不透明设置为`48%` $layer = new Imagick(); $layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#000699'); $layer->setImageOpacity (0.48); //叠加到原图上,图层混合模式为`排除` $im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0); //完成! $im->writeImage('./vintage.jpg');
요약
위는 php_imagick을 사용하여 레트로 효과를 얻는 방법입니다. 관심 있는 친구들이 직접 코드를 입력하는 것이 더 쉬우므로 이 글의 내용이 모두의 학습이나 도움이 되기를 바랍니다. 도움을 받으러 오세요. 궁금한 점이 있으면 메시지를 남겨서 소통하세요.