效果展示: ActionScript 提供了10类过渡效果,即遮帘过渡、淡化过渡、飞行过渡、光圈过渡、照片过渡、溶解过渡、旋转过渡、挤压过渡、划入/划出过渡、缩放过渡,虽然表面上看和利用遮罩完成的过渡效果没有区别,但从本质上是有很大的区别的,并且利用时要比使用遮罩完成的效果简单而有效,因此,特整理以下供大家参考。 1.遮帘过渡使用逐渐消失或逐渐出现的矩形来显示影片剪辑对象。向内容目标影片剪辑 img1_mc 应用“遮帘过渡”。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img1_mc, {type:Blinds, direction:Transition.IN, duration:2, easing:None.easeNone, numStrips:10, dimension:0});numStrips,“遮帘”效果中的遮罩条纹数。建议的范围是 1 到 50。dimension,一个整数,指示遮帘条纹是垂直的 (1) 还是水平的 (0)。duration,一个整数,指完成过渡的时间(单位为秒)。 2.淡化过渡淡入或淡出影片剪辑对象。向内容目标影片剪辑 img2_mc 应用“淡化过渡”。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img2_mc, {type:Fade, direction:Transition.IN, duration:3, easing:None.easeNone});Duration,一个整数,指完成过渡的时间(单位为秒)。 3.飞行过渡从某一指定方向滑入影片剪辑对象。向内容目标影片剪辑 img3_mc 应用“飞行过渡”。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img3_mc, {type:Fly, direction:Transition.IN, duration:3, easing:Elastic.easeOut, startPoint:8});startPoint,一个指示起始位置的整数;范围是 1 到 9:左上,1;上中,2;右上,3;左中,4;中心,5;右中,6;左下,7;下中,8;右下,9。duration,一个整数,指完成过渡的时间(单位为秒)。easing:Elastic.easeOut,有缓动效果,没有Elastic.easeOut选项时无缓动效果。 4.光圈过渡使用可以缩放的方形或圆形动画遮罩来显示或隐藏影片剪辑对象。向内容目标影片剪辑 img4_mc 应用“光圈过渡”。import mx.transitions.*; import mx.transitions.easing.*;TransitionManager.start(img4_mc, {type:Iris, direction:Transition.IN, duration:5, easing:Strong.easeOut, startPoint:5, shape:Iris.CIRCLE});startPoint,一个指示起始位置的整数;范围是 1 到 9:左上,1;上中,2;右上,3;左中,4;中心,5;右中,6;左下,7;下中,8;右下,9。shape,值为 mx.transitions.Iris.SQUARE(方形)或 mx.transitions.Iris.CIRCLE(圆形)的遮罩形状。duration,一个整数,指完成过渡的时间(单位为秒)。easing:Strong.easeOut,具有“强制”缓动,无easing:Strong.easeOut选项时无缓动 5.照片过渡使影片剪辑对象像放映照片一样出现或消失。向内容目标影片剪辑 img5_mc 应用“照片”过渡。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start (img5_mc, {type:Photo, direction:Transition.IN, duration:3, easing:None.easeNone});duration,一个整数,指完成过渡的时间(单位为秒)。 6.溶解过渡使用随机出现或消失的棋盘图案矩形来显示或隐藏影片剪辑对象。向内容目标影片剪辑 img6_mc 应用“溶解”过渡。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img6_mc, {type:PixelDissolve, direction:Transition.IN, duration:3, easing:None.easeNone, xSections:20, ySections:20});xSections,一个整数,指示沿水平轴的遮罩矩形部分的数目。建议的范围是 1 到 50。ySections,一个整数,指示沿垂直轴的遮罩矩形部分的数目。建议的范围是 1 到 50。duration,一个整数,指完成过渡的时间(单位为秒)。 7.旋转过渡旋转影片剪辑对象。向内容目标影片剪辑 img7_mc 应用“旋转”过渡。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img7_mc, {type:Rotate, direction:Transition.IN, duration:3, ccw:false, degrees:180});ccw,一个布尔值:对于顺时针旋转为 false;对于逆时针旋转为 true。degrees,一个整数,指示对象要旋转的度数。建议是范围是 1 到 9999。例如,degrees 设置为 1080 时,会将对象完全旋转三次。duration,一个整数,指完成过渡的时间(单位为秒)。 8.挤压过渡水平或垂直缩放影片剪辑对象。向内容目标影片剪辑 img8_mc 应用“挤压”过渡。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img8_mc, {type:Squeeze, direction:Transition.IN, duration:3, dimension:0});dimension,一个整数,指示“挤压”效果应是水平的 (1) 还是垂直的 (0)。duration,一个整数,指完成过渡的时间(单位为秒)。 9.划入/划出过渡使用水平移动的动画遮罩形状来显示或隐藏影片剪辑对象。向内容目标影片剪辑 img9_mc 应用“划入/划出”过渡。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img9_mc, {type:Wipe, direction:Transition.IN, duration:3, easing:None.easeNone, startPoint:1});startPoint,一个整数,指示开始位置。范围是 1 到 4 和 6 到 9:左上,1;上中,2;右上,3;左中,4;右中,6;左下,7;下中,8;右下,9。duration,一个整数,指完成过渡的时间(单位为秒)。 10.缩放过渡通过按比例缩放来放大或缩小影片剪辑对象。向内容目标影片剪辑 img10_mc 应用“缩放”过渡。import mx.transitions.*;import mx.transitions.easing.*;TransitionManager.start(img10_mc, {type:Zoom, direction:Transition.IN, duration:3});duration,一个整数,指完成过渡的时间(单位为秒)。 应用非常简单,复制以上相应的AS到需要过渡的帧处即可,并修改MC的名称。具体可查看原文件。 源文件:过渡效果.rar 转自:http://www.68design.net/Web-Guide/Flash/30869-1.html
View Details转自:http://www.dedecms.com/web-art/JSPjiaocheng/20060330/23987.html 作者:边城狂人 常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行 编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。下面就来看看什么是 JAR 文件包吧:1. JAR 文件包JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:==– test– Test.class把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:test.zip– test– Test.class如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:test.jar|– META-INF| – MANIFEST.MF– test–Test.class2. 创建可执行的 JAR 文件包制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:jar cvfm test.jar manifest.mf test这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf。因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:Main-Class: 可执行主类全名(包含包名)例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:Main-Class: test.Test <回车>这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该行以一个回车符结束即可。创建了 manifest.mf 文件之后,我们的目录结构变为:==|– test| – Test.class`– manifest.mf这时候,需要到 test 目录的上级目录中去使用 jar 命令来创建 JAR 文件包。也就是在目录树中使用“==”表示的那个目录中,使用如下命令:jar cvfm test.jar manifest.mf test之后在“==”目录中创建了 test.jar,这个 test.jar 就是执行的 JAR 文件包。运行时只需要使用 java -jar test.jar 命令即可。需要注意的是,创建的 JAR 文件包中需要包含完整的、与 Java 程序的包结构对应的目录结构,就像上例一样。而 Main-Class 指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR 文件包之前可以使用 java <类名> 来运行这个类,即在上例中 java test.Test 是可以正确运行的 (当然要在 CLASSPATH 正确的情况下)。
View Details作废函数如下: call_user_method()(使用 call_user_func() 替代) call_user_method_array() (使用 call_user_func_array() 替代) define_syslog_variables() dl() ereg() (使用 preg_match() 替代) ereg_replace() (使用 preg_replace() 替代) eregi() (使用 preg_match() 配合 ‘i’ 修正符替代) eregi_replace() (使用 preg_replace() 配合 ‘i’ 修正符替代) set_magic_quotes_runtime() 以及它的别名函数 magic_quotes_runtime() [color=olive]session_register() (使用 $_SESSION 超全部变量替代) session_unregister() (使用 $_SESSION 超全部变量替代) session_is_registered() (使用 $_SESSION 超全部变量替代) set_socket_blocking() (使用 stream_set_blocking() 替代) split() (使用 preg_split() 替代) spliti() (使用 preg_split() 配合 ‘i’ 修正符替代) sql_regcase() mysql_db_query() (使用 mysql_select_db() 和 mysql_query() 替代) mysql_escape_string() (使用 mysql_real_escape_string() 替代) 废弃以字符串传递区域设置名称. 使用 LC_* 系列常量替代. mktime() 的 is_dst 参数. 使用新的时区处理函数替代. 处理方法:editplus编辑器中,正则替换 替换ereg(),eregi():用preg_match替换 ereg\(“([^"]+)”替换为:preg_match(“/\1/” ereg\(‘([^"]+)’替换为:preg_match(‘/\1/’ eregi\(“([^"]+)”替换为:preg_match(“/\1/i” eregi\(‘([^"]+)’替换为:preg_match(‘/\1/i’ 替换ereg_replace(),eregi_replace():用preg_replace()替换 ereg_replace\(“([^"]+)”替换为:preg_replace(“/\1/” ereg_replace\(‘([^"]+)’替换为:preg_replace(‘/\1/’ ereg_ireplace\(“([^"]+)”替换为:preg_replace(“/\1/i” ereg_ireplace\(‘([^"]+)’替换为:preg_replace(‘/\1/i’ 如果 ereg_replace 的第一个参数不是正则表达式,可以用 str_replace 直接来替换 split用explode替换或preg_split替换=&使用=替换 出处:http://blog.duteba.com/technology/article/38.htm
View Details因为是在Drupal中遇到的问题,所以就在Drupal中解决。原因很简单,就是Drupal 6.x不支持PHP 5.3,Drupal 7没有这个问题,解决办法也很多。最简单的莫过于降级到PHP 5.2.x,如果由于一些特别的原因必须使用PHP 5.3+的话,可以尝试下列办法。 打开Drupal安装目录下的includes/common.inc文件,找到590行(如果没有修改过的话),显示的应该是
1 |
if ($errno & (E_ALL ^ E_NOTICE)) { |
将这一行替换成
1 |
if ($errno & (E_ALL & ~E_NOTICE & ~E_DEPRECATED)) { |
这一句将禁止所有Deprecated错误信息。如果你安装了Developer Tools模块的话,那么还需要修改devel/devel.module的460行,方法相同。 如果这个办法不好用的话,可以尝试修改php.ini。 打开php.ini,找到
1 |
error_reporting = E_ALL |
改成
1 |
error_reporting = E_ALL & ~E_DEPRECATED |
道理是一样的。 如果还不行,或者因为各种原因改不了以上两处的话,还有办法。 打开drupal\includes\file.inc文件,找到895行,如下。
1 |
elseif ($depth >= $min_depth && ereg($mask, $file)) { |
注意,如果895行不是这句的话,就在附近找找,或者直接搜索这句,找到以后把这句改为
1 |
elseif ($depth >= $min_depth && mb_ereg($mask, $file)) { |
这样怎么着应该都行了。 养成良好的编程习惯,修改之前务必备份。 from url:http://www.baifeng.me/web/hosting/2010/03/1240/
View Details静态方法的规则和静态变量是相同的。使用ststic关键字可以将方法标识为静态方法,通过类的名称和作用域限定操作符::可以访问静态方法。 静态方法和非静态方法之间有一个很重要的区别,就是在调用静态方法时,我们不需要创建类的实例。 Program List:用类名作为参数 用类名作为参数可以解决非继承的静态问题。 01 <?php 02 classFruit { 03 publicstatic$category= "I'm fruit"; 04 05 staticfunctionfind($class) 06 { 07 $vars= get_class_vars($class) ; 08 echo$vars['category'] ; 09 } 10 } 11 12 classApple extendsFruit { 13 publicstatic$category= "I'm Apple"; 14 } 15 16 Apple::find("Apple"); 17 ?> 程序运行结果: 1 I'm Apple Program List:重写基类方法 在派生类重写基类的方法。 01 <?php 02 classFruit 03 { 04 staticfunctionFoo ( $class= __CLASS__) 05 { 06 call_user_func(array($class, 'Color')); 07 } 08 } 09 10 classApple extendsFruit 11 { 12 staticfunctionFoo ( $class= __CLASS__) 13 { 14 parent::Foo($class); 15 } 16 17 staticfunctionColor() 18 { 19 echo"Apple's color is red"; 20 } 21 } 22 […]
View Details一、 PHP抓取页面的主要方法: 1. file()函数 2. file_get_contents()函数 3. fopen()->fread()->fclose()模式 4.curl方式 5. fsockopen()函数 socket模式 6. 使用插件(如:http://sourceforge.net/projects/snoopy/) 二、PHP解析html或xml代码主要方式: 1. file()函数 <?php $url=’http://t.qq.com’; $lines_array=file($url); $lines_string=implode(”,$lines_array); echo htmlspecialchars($lines_string); ?> 2. file_get_contents() 函数 使用file_get_contents和fopen必须空间开启allow_url_fopen。 方法:编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。 <?php $url=’http://t.qq.com’; $lines_string=file_get_contents($url); echo htmlspecialchars($lines_string); ?>3. fopen()->fread()->fclose()模式 <?php $url=’http://t.qq.com’; $handle=fopen($url,”rb”); $lines_string=”"; do{ $data=fread($handle,1024); if(strlen($data)==0){break;} $lines_string.=$data; }while(true); fclose($handle); echo htmlspecialchars($lines_string); ?>4. curl方式 使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需 要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩展。 <?php $url=’http://t.qq.com’; $ch=curl_init(); $timeout=5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $lines_string=curl_exec($ch); curl_close($ch); echo htmlspecialchars($lines_string); ?>5. fsockopen()函数 socket模式 socket模式能否正确执行,也跟服务器的设置有关系,具体可以通过phpinfo查看服务器开启了哪些通信协议,比如我的本地php socket没开启http,只能使用udp测试一下了。 <?php $fp = fsockopen(“udp://127.0.0.1″, 13, $errno, $errstr); if (!$fp) { echo […]
View Details一:首先查看一下系统下面有没有字体支持 安装字体:sudo apt-get install msttcorefonts 使用中文字体:simhei.ttf 如果没有GOOGLE下载,放到/usr/share/fonts/truetype/目录下,使用的时候直接调用,也可以放到你的网站目录下。 <?php $im = imagecreate(400,300); $black = imagecolorallocate($im, 255, 0, 255); $white = imagecolorallocate($im, 255, 255, 255); $font = “/usr/share/fonts/truetype/msttcorefonts/simhei.ttf”; $string = “this is my second try”; $chinese = “我的好朋友是谁”; //imagestring($im, 10, 10, 10, $string, $white); //imagestring($im, 30, 30, 20, $chinese, 1); imagettftext($im, 20, 0,10, 10, $white, $font, $chinese); imageline($im, 10, 20, 100, 100, 1); header(“Content-type: image/png”); imagepng($im); imagedestroy($im); ?>转自:http://hi.baidu.com/bowengo/item/4e00acd95d2d15fd93a9743c
View Details$size = 300; $image = imagecreatetruecolor($size,$size); //用白色背景,黑色边框画方框 $back = imagecolorallocate($image,255,255,255); $border = imagecolorallocate($image,0,0,0); imagefilledrectangle($image,0,0,$size,$size,$back); //画出白色背景 imagerectangle($image,0,0,$size-1,$size-1,$border); //画出黑色边框 $yellow_x = 150; $yellow_y = 75; $red_x = 100; $red_y = 160; $blue_x = 200; $blue_y = 160; $radius = 150; $yellow = imagecolorallocatealpha($image,255,255,0,75); //此函数将黄色的alpha值调为75,就是透明度 $red = imagecolorallocatealpha($image,255,0,0,75); $blue = imagecolorallocatealpha($image,0,0,255,75); //画三个交叠的圆 imagefilledellipse($image,$yellow_x,$yellow_y,$radius,$radius,$yellow); //此函数就是我要在$image上画一个圆心($yellow_x,$yellow_y)半径为$radius/2颜色为$yellow的圆 imagefilledellipse($image,$red_x,$red_y,$radius,$radius,$red); imagefilledellipse($image,$blue_x,$blue_y,$radius,$radius,$blue); //输出正确的header header(“Content-type: image/png”); //输出结果 imagepng($image); imagedestroy($image);转自:http://yq329.blog.163.com/blog/static/117379566201131821330796/
View Details(1)date 用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义: U 替换成从一个起始时间(好象是1970年1月1日)以来的秒数 Y 替换成4位的年号. y 替换成2位的年号. F 替换成月份的英文全称.M 替换成月份的英文简称. m 替换成月份数. z 替换成从当年1月1日以来的天数. d 替换成日数. l 替换成星期几的英文全称. D 替换成星期几的英文简称. w 替换成星期几(数字). H 替换成小时数(24小时制). h 替换成小时数(12小时制). i 替换成分钟数. s 替换成秒数. A 替换成”AM”或”PM”. a 替换成”am”或”pm”. S 替换成序数字后缀,例如:”st”,”nd”,”rd”,”th”. 函数返回作过了替换的格式串.(2)getdate(时间) 返回一个哈希表,各下标是: “seconds” — 秒数 “minutes” — 分数“hours” — 小时数 “mday” — 日数 “mon” — 月份数 “year” — 年号 “yday” — 1月1日以来的天数 “weekday” — 星期几,英文全称 “month” — 月份,英文全名 (3)gmdate与date类似,但先将时间转换成格林威治标准时. (4)mktime 用法: mktime(小时数,分数,秒数,月,日,年);返回一个时间值,可用于其他函数. (5)time 用法: time(); 返回1970年1月1日零点以来的秒数.(6)microtime 用法: microtime(); 返回一个字符串,用空格分成两部分,后一部分相当于time()的返回值,前一部分是微秒数. (7)checkdate 用法: checkdate(月,日,年); 返回逻辑真或逻辑假.如果: [1]年在1900和32767之间(包括1900与32767); [2]月在1到12之间;[3]日在该月的允许日数范围内(考虑了闰年); 则返回逻辑真. (8)set_time_limit 用法:set_time_limit(秒数); 规定从该句运行时起程序必须在指定秒数内运行结束, 超时则程序出错退出.
View Details在eclipse或mycelipse中,启动run on server时或查看项目文件时报错: Resource is out of sync with the file system: ‘/Test_1_Struts_Spring_Hibernate/WebContent/WEB-INF/.struts-config.xml.strutside’. 这是文件系统不同步的问题,是因为在eclipse或mycelipse之外对工程中的resource进行修改引起的(或者是由不同的系统间对文件进行修改引起的);但是,有时没有在eclipse或mycelipse之外进行修改,也会报类似的错误。 解决办法:需要手动刷新一下资源管理器。 ( 1)在eclipse或mycelipse中,工程目录右键,选择F5(refresh) (2)设置eclipse或mycelipse自动刷新。 通过Window->Preferences->General->Workspace,选中Refresh automatically。 http://blog.163.com/hjysys1314@126/blog/static/107903208201021105739351/
View Details