Create a banner with animated glowing text
<?php
$text = "DJ Mike";
$font = "lokicola.ttf";
$fontsize = 100;
$fontcolor = "#ffff88";
$file = "banner.gif"; # outfile
$glow_radius = 3;
# Three glow colors
$glow = array( "#ff0000", "#ff8800", "#ffff00" );
$delay = 15;
# moves text down
$offset = 12;
# make a black pallete
$pallete = new Imagick;
$pallete->newimage(375,140, "#000000");
# set pallet format to gif
$pallete->setimageformat("gif");
# make a draw object with settings
$draw = new imagickdraw();
$draw->setgravity(imagick::GRAVITY_CENTER);
$draw->setfont("$font");
$draw->setfontsize($fontsize);
# clone pallete to make 3 blank frames
$frame_0 = $pallete->clone();
$frame_1 = $pallete->clone();
$frame_2 = $pallete->clone();
# put them in an array
$frames = array($frame_0, $frame_1, $frame_2);
# loop through frames, double glow radius each time, annotate
foreach( $frames as $frame)
{
# Loop through glow colors, annotate and blur
foreach( $glow as $color)
{
$draw->setfillcolor("$color");
$frame->annotateImage ( $draw,0 ,$offset, 0, $text );
$frame->annotateImage ( $draw,0 ,$offset, 0, $text );
$frame->BlurImage( $glow_radius, $glow_radius );
}
# top layer of text over glow
$draw->setfillcolor("$fontcolor");
# center annotate on top of offset annotates
$frame->annotateImage ( $draw,0 ,$offset, 0, $text );
# double glow radius for next loop
$glow_radius = $glow_radius*2;
}
# add frames
$frame_0->addImage($frame_1);
$frame_0->addImage($frame_2);
# slow it down a little
$frame_0->setImageDelay("$delay");
# write frames
$frame_0->writeimages( "$file", FALSE);
# write animation
$frame_0->writeimages( "$file", TRUE);
#
header("Location:banner.gif");
?>
Imagick::clone
(PECL imagick 2.0.0)
Imagick::clone — Makes an exact copy of the Imagick object
Descrição
Makes an exact copy of the Imagick object.
Aviso
This function has been DEPRECATED as of imagick 3.1.0 in favour of using the clone keyword.
Exemplos
Exemplo #1 Imagick object cloning in different versions of imagick
<?php
// Cloning an Imagick object in imagick 2.x and 3.0:
$newImage = $image->clone();
// Cloning an Imagick object from 3.1.0 on:
$newImage = clone $image;
?>
Valor Retornado
A copy of the Imagick object is returned.
DJ Mike ¶
1 year ago
waage ¶
5 years ago
This is great to use to make thumbnails
<?php
$im = new Imagick("image.jpg");
$thumb = $im->clone();
$thumb->thumbnailImage(100);
$thumb->writeImage("thumb_image.jpg");
?>
