利用php创建打印文字动画效果
浏览:2755次 出处信息
利用php创建打印文字动画效果
用php+imagick+imagemagick实现的代码如下,在ubuntu下如何安装使用imagick+imagemagick,可以看这篇文章,其他操作系统请google相关文章
效果图片如下:
源代码:
以下是代码片段:
< ?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);
建议继续学习:
- jQuery Color Animations颜色动画插件 (阅读:7094)
- css3-animation制作逐帧动画 (阅读:5326)
- 通过php+imagick 创建PDF图片预览 (阅读:3796)
- 解决jQuery动画在chrome下暴走的问题 (阅读:3148)
- jQuery中的动画 (阅读:2879)
- 闲谈CSS3动画 (阅读:2658)
- 完美实现GIF动画缩略图 (阅读:2668)
- CSS3 动画系列 (阅读:2455)
- 对比Imagick和Gmagick的像素迭代功能 (阅读:2382)
- ReactNative Animated动画详解 (阅读:2669)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:利用php创建水中倒影的图片效果
后一篇:php 多版本共存时的注意事项 >>
文章信息
- 作者:排头兵 来源: 排头兵-互联网开发实践
- 标签: imagick 动画
- 发布时间:2010-03-08 23:10:38
建议继续学习
近3天十大热文
- [46] 界面设计速成
- [40] 视觉调整-设计师 vs. 逻辑
- [40] Oracle MTS模式下 进程地址与会话信
- [38] IOS安全–浅谈关于IOS加固的几种方法
- [37] android 开发入门
- [36] 如何拿下简短的域名
- [36] 程序员技术练级攻略
- [35] 【社会化设计】自我(self)部分――欢迎区
- [35] 图书馆的世界纪录
- [32] 读书笔记-壹百度:百度十年千倍的29条法则