>  기사  >  백엔드 개발  >  php_imagick으로 레트로 효과를 얻는 방법

php_imagick으로 레트로 효과를 얻는 방법

墨辰丷
墨辰丷원래의
2018-05-31 14:27:021485검색

많은 분들이 php_imagick에 대해 잘 알고 계실 거라 믿습니다. 이번 글에서는 먼저 php_imagick과 간단한 예제를 간략하게 소개한 후, 모두의 공부와 업무에 참고할 만한 샘플 코드를 통해 php_imagick을 사용하여 레트로 효과를 얻는 방법을 소개합니다. 필요하신 분은 오셔서 아래를 살펴보세요.

Introduction

php_imagick은 PHP가 ImageMagick 함수를 호출할 수 있게 해주는 PHP 확장입니다. 이 확장을 사용하면 PHP가 ImageMagick과 동일한 기능을 갖게 됩니다.
ImageMagick은 널리 사용되는 TIFF, JPEG, GIF, PNG, PDF 및 PhotoCD 등 형식을 포함하여 185개 이상의 기본 형식으로 이미지 파일을 읽고, 쓰고, 처리하는 데 사용할 수 있는 강력하고 안정적인 무료 도구 세트 및 개발 패키지입니다. ImageMagick을 사용하면 웹 애플리케이션의 필요에 따라 이미지를 동적으로 생성할 수 있으며, 크기를 변경하고, 회전하고, 선명하게 하고, 색상을 줄이고, 이미지(또는 이미지 그룹)에 특수 효과를 추가하고 결과를 저장할 수도 있습니다. 같은 형식으로 저장하거나 다른 형식으로 저장하세요.

php_imagick 프로그램 예

1. 썸네일을 생성하고 표시합니다

<?php
header(&#39;Content-type: image/jpeg&#39;);
$image = new Imagick(&#39;image.jpg&#39;);
// 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(&#39;images/*.JPG&#39;));
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);
?>

//打开图片
$im = new Imagick(&#39;./hebe.jpg&#39;);
//新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), &#39;#C0FFFF&#39;);
$layer->setImageOpacity (0.44);
//叠加到原图上,图层混合模式为`柔光`
$im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0);
//新建图层,使用颜色`#000699`填充后,不透明设置为`48%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), &#39;#000699&#39;);
$layer->setImageOpacity (0.48);
//叠加到原图上,图层混合模式为`排除` 
$im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0);
//完成!
$im->writeImage(&#39;./vintage.jpg&#39;);

는 php_imagick을 사용하여 레트로 효과를 달성하는 방법 렌더링의 첫 번째 retro 효과 디스플레이를 살펴보십시오. 효과를 사용하려면 먼저 Photoshop을 사용하여 다음 단계에 따라 구현합니다.


원본 이미지를 엽니다

새 레이어를 만들고 #C0FFFF 색상으로 채운 다음 불투명도를 44%로 설정하고 레이어 혼합 모드를 Soft Light로 설정합니다

새 레이어를 만들고 색상은 #000699이고 불투명도는 48%로 설정되었으며 레이어 혼합 모드는 Exclude

레이어 병합


PHP 코드를 사용합니다. 즉, 위의 단계만 수행하면 구현됩니다.


rrreee

요약: 위 내용은 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 권장 사항:

php

QR 코드로 이미지를 생성하고 강제 다운로드하는 단계에 대한 자세한 설명

PHP 데이터베이스 Redis 사용 및 분석

비형식 데이터를 처리하는 방법 PHP Post를 얻을 수 없습니다


위 내용은 php_imagick으로 레트로 효과를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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