IT技术博客大学习 共学习 共进步

利用php创建打印文字动画效果

排头兵-互联网开发实践 2010-03-08 23:10:38 浏览 3,864 次

    利用php创建打印文字动画效果

    用php+imagick+imagemagick实现的代码如下,在ubuntu下如何安装使用imagick+imagemagick,可以看这篇文章,其他操作系统请google相关文章

    效果图片如下:

    anti-print

    源代码:

以下是代码片段:
< ?php 
/** 
* 打印机打印效果 
* @ param $text String 需要打印的文字 
* @ param $color color|#16进制颜色  
* @ param $fontsize int 字体大小 
**/ 
  
function gif_print($text,$color=’red’,$fontsize = 40) 
{ 
    $ani = new Imagick(); 
    $ani->setFormat(’gif’); 
    $textcolor = new ImagickPixel($color); 
    $bgcolor = new ImagickPixel(’white’); 
  
    //定义画笔 
    $draw = new ImagickDraw(); 
    $draw->setFontSize($fontsize); 
    $draw->setFillColor($textcolor); 
    $draw->setGravity(imagick::GRAVITY_WEST); 
  
    //获取画笔写字的属性 
    $fontprop = $ani->queryFontMetrics($draw,$text); 
    $width = (int)$fontprop[’textWidth’] + 8; 
    $height = (int)$fontprop[’textHeight’]  ; 
  
    //创建打印机的待机效果 
  
    $ani->newImage($width,$height,$bgcolor); 
    $draw->line(3,8,3,$height); 
    $ani->drawimage($draw); 
    $ani->setImageDelay(30); 
    $ani->newImage($width,$height,$bgcolor); 
    $ani->setImageDelay(30); 
    $ani->newImage($width,$height,$bgcolor); 
  
    $ani->drawimage($draw); 
    $ani->setImageDelay(30); 
  
    $textstrlen = strlen($text); 
  
    //创建打印机打印效果 
    for($i = 0;$i < = $textstrlen;$i++) 
    { 
        $single = substr($text,0,$i); 
        $ani->newImage($width,$height,$bgcolor); 
        $ani->setGravity(imagick::GRAVITY_WEST); 
        $ani->annotateImage($draw,0,0,0,$single); 
        $ani->setImageDelay(20); 
    } 
  
    header("Content-Type:image/gif"); 
    echo $ani->getImagesBlob(); 
} 
gif_print(’Welcome to Paitoubing.cn’,’blue’,30);

建议继续学习

  1. jQuery Color Animations颜色动画插件 (阅读 8,343)
  2. 通过php+imagick 创建PDF图片预览 (阅读 6,984)
  3. css3-animation制作逐帧动画 (阅读 6,404)
  4. ReactNative Animated动画详解 (阅读 4,142)
  5. 解决jQuery动画在chrome下暴走的问题 (阅读 3,983)
  6. 完美实现GIF动画缩略图 (阅读 3,907)
  7. jQuery中的动画 (阅读 3,862)
  8. 闲谈CSS3动画 (阅读 3,725)
  9. 对比Imagick和Gmagick的像素迭代功能 (阅读 3,424)
  10. CSS3 动画系列 (阅读 3,303)