imagtick安装使用指难

==== 看你的php版本 == 对应版本进行下载 ==== 我的是64位线程安全版本

1.下载:

http://windows.php.net/downloads/pecl/releases/imagick/3.4.3RC1/php_imagick-3.4.3rc1-7.0-ts-vc14-x64.zip

定义环境变量:MAGICK_HOME D:\imagtick\bin

2.dll文件

php_imagick 放到php目录下的ext目录下

其他dll放到php目录下

http://windows.php.net/downloads/pecl/releases/imagick/3.4.3RC1/php_imagick-3.4.3rc1-7.0-ts-vc14-x64.zip

image.png

测试:

<?php

/***  case 1:   ***/

/* ::从一张gif中创建图片:: */

/* Create a new imagick object and read in GIF */
$im = new Imagick($_SERVER['DOCUMENT_ROOT']."/timg.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($_SERVER['DOCUMENT_ROOT']."/example_small.gif", true);

//$con = file_get_contents("test.jpg");
//echo $con;

/*** case 2: ***/

$image=new Imagick();

$animation = new Imagick(); //建立一个对象。

$animation->setFormat( "gif" ); //设置它的类型。

$delay = 30; //设置播放速度。


for ($i=1; $i<52; $i++) {
    
    $thisimage = new Imagick();
    
    $thisimage->readImage('testgifimg/frame-'.$i.'.gif'); //我有三个图片分别叫:1.jpg,2.jpg就是要合成他们三个。
    
    $thisimage->setFormat( "gif" ); //把他们都转成GIF格式。
    
    $animation->addImage($thisimage); //加入到刚才建立的那个gif imagick对象之中。
    
    $animation->setImageDelay( $delay ); //设置好播放速度。
    
}

header( "Content-Type: image/gif" );

$animation->writeImages("9.gif",true); //文件存储。不能使用writeImage,因为是多帧的,它会认为是多张图片

/*** case 3: 在图片上加文字 ***/

    $watermark = new Imagick();
    
    $watermark->readImage("test.jpg");
    
    $image->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0);
    
    $text = new Imagick();
    
    $text->newImage(500, 200, 'none');
    
    $text->setImageFormat('jpg');
    
    $draw = new ImagickDraw();
    
    $draw->setFillColor(new ImagickPixel('#f00'));
    
    $draw->setFontSize(50);
    
    $draw->annotation(100, 60, 'welcome');
    
    $text->drawImage($draw);
    
    $image->compositeImage($text, imagick::COMPOSITE_OVER, 0, 0);
    
    $image->writeImage ("test_2.jpg");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容