//Сначало создаём спизженную с пыхи функцию для генерации рандомных символов :)
function text($n=5)
{
$key = '';
$pattern = '1234567890abcdefghijklmnopqrstuvwxyz';
$counter = strlen($pattern)-1;
for($i=0; $i<$n; $i++)
{
$key .= $pattern{rand(0,$counter)};
}
return $key;
}
//Закатываем в $font путь к нашему шрифту
$font = dirname(__FILE__).'/comic.ttf';
//Инициализируем собсно класс
$image = new Imagick();
//Создаём картинку 150х50 и придаём фону белый цвет
$image->newImage(150, 50, new ImagickPixel('white'));
//Форматируем картинку. Придаём ей формат png
$image->setImageFormat('png');
//Инициализируем клас ImagickDraw
$draw = new ImagickDraw();
//Указываем шрифт
$draw->setFont($font);
//Придаём цвет тексту
$draw->setFillColor(new ImagickPixel('black'));
//Далее размер шрифта
$draw->setFontSize(38);
//Используем пыхофункцию для генерации случайного текста
$string = text();
//Состовляем текст. 25 - кол-во пикселей между текстом и гранью картинки по оси X, 35 - по оси Y
$draw->annotation(25,35,$string);
//Накладываем его на картинку
$image->drawImage($draw);
//Придаём искажение в виде завихрения против часовой стрелки на 30 градусов (если число отрицателльно - по часовой)
$image->swirlImage(30);
//Отсылаем заголовок о том что выводимые данные будут картинкой (png в нашем случае)
header('Content-type: image/png');
//Выводим картинку
echo $image;
//Разрушаем объект класса
$image->destroy();
Все :)
Результат во вложениях
Пример тут http://pihto.no-ip.org/capcha.php