note 105009 added to function.imagick-clone
| From: | DJMike at osu1 dot php dot net | Date: | Fri, 22 Jul 2011 01:50:54 +0000 |
| Subject: | note 105009 added to function.imagick-clone | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-181771@lists.php.net to get a copy of this message | ||
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");
?>
http://eclecticdjs.com/mike/tutorials/php/imagemagick/examples_09/clone.php
----
Server IP: 69.147.83.197
Probable Submitter: 128.111.96.126
----
Manual Page -- http://www.php.net/manual/en/function.imagick-clone.php
Edit -- https://master.php.net/note/edit/105009
Del: integrated -- https://master.php.net/note/delete/105009/integrated
Del: useless -- https://master.php.net/note/delete/105009/useless
Del: bad code -- https://master.php.net/note/delete/105009/bad+code
Del: spam -- https://master.php.net/note/delete/105009/spam
Del: non-english -- https://master.php.net/note/delete/105009/non-english
Del: in docs -- https://master.php.net/note/delete/105009/in+docs
Del: other reasons-- https://master.php.net/note/delete/105009
Reject -- https://master.php.net/note/reject/105009
Search -- https://master.php.net/manage/user-notes.php