推荐阅读

Photoshop结合SAI给甜美女孩转手绘效果
本教程主要使用photoshop结合SA调出清纯女孩唯美的转手绘效果,整体的效果非常的漂亮,喜欢转手绘的朋友可以一起来学习。效果图:原图:首先是调色,调色一步步照着来就好,没什么好说的

PS影楼专业给模特保留细节细腻磨皮
原图效果图2、选择快速选择工具,选中人物脸部皮肤。如下图3、按ctrl+j 得出皮肤层。执行滤镜>模糊>高斯模糊 参数设置如下图6、盖印图层,选择 快速选择工具,选择模特脸部皮肤。得出选区。如下图

三个实际效果讲解相机慢曝光B门的使用方法
B门是一种既可以说是游离于相机四种模式(A、S、M、P)之外的摄影模式,也可以看成是M档的延伸。在B门模式下,摄影师既可以调整光圈,也可以完全控制快门速度,而这个所谓完全控制快门速度与M档有很大的区别。一般来说,在M档下摄影师可以从1/8000秒-30秒自由调节快门速度。而B门则是摄影师按住快门钮快门就会开启,而释放快门钮快门才会闭合。这么做到底有什么好处,我们还是来看几组照片,从实战中学习B门的使用方法吧。 实际效果一:平静的水面 这是什么? 难得一见的如镜面般的水面。 为什么难做到? 我相信如果满世界找平静如镜面般的水面还是可以找到的,但是你要知道绝大多数的湖面海面可都是有波澜的。 适用于什么场景? 环境光很暗的场景。 该怎么做? 用三脚架将相机固定好。然后将相机调整至B门,有的相机在模式转盘里有单独的B门模式,有的相机是在M档里将快门速度调整到30秒之后的一档就是B门了。调整到B门之后使用一个比较小的光圈。这时最好用快门线操作相机的快门,否则你将一直按着快门按钮,就算我们忽略了相机的抖动,一直按很长时间手也会酸的。按下快门线上的快门钮,并且锁住快门。然后短则等上两三分钟,长则等上半个小时,这需要视环境光亮度而定。所以多拍几张是很必要的。觉得曝光差不多了,就可以给快门钮解锁,曝光就完成了。
最新发布

深入了解Flash AS中的setInterval方法
相信大家对Flash的setInterval方法肯定非常熟悉,但不少人对其缺乏深入的了解,致使当一个flash里有多个setInterval的时候就容易混淆,该清除的间隔ID没有清除,不该清除的时候却清除了。对于setInterval的语法我就不赘述,很多文章都有详细说明,下面来说一下setInterval的几个重点。 1、setInterval和clearInterval都是全局函数,也就是_global.setInterval()和_global.clearInterval()。 这一点大家应该都知道,但是可能并没有特别注意。不过这点对我们理解他们非常重要。setInterval的返回值是一个间隔ID(数字),所以这个间隔ID也是全局的。 比如下面的代码: 我们用clearInterval(rootID)和用clearInterval(1)的作用是一样的。 2、每一次调用setInterval,就会返回一个间隔ID,这个ID数值为全局setInterval的调用次数。 比如下面的代码: 在这个例子里,我们可以用clearInterval(1)来清除间隔rootID。假如我们先点击btn1再点击btn2,那么就可以用clearInterval(2)来清除点击btn1所产生的间隔ID,而用clearInterval(3)来清除点击btn2所产生的间隔ID。相反,如果我们先是点击btn2再点击btn1,那么clearInterval(2)则是清除点击btn2所产生的间隔ID. 3、给间隔lID添加标识符 在实际编程中,用上面的clearInterval(数字)这样的方式固然可以清除间隔ID,但是一旦ID过多,我们就会无法识别该清除哪个ID。因此给间隔ID添加标识符就显得非常重要。但是必须把他分配到一个对象的成员变量中。

用Flash AS3制作统计饼图动画效果
FLASH演示地址:http://flashview.ddvip.com/2007_08/32664.swf 说明:点击的蓝色按钮可以画出各种饼图,点击饼图中不同色块可以观看效果。

Flash AS实例教程:制作铅笔动画
用一段简单的AS代码就可以实现简单的铅笔动画效果。 直接复制代码,导出就可以看到效果了:_root.createEmptyMovieClip("pen", 1);pen.lineStyle(2, 0x000000);pen._x = 200;pen._y = 200;pen.beginFill(0x444444, 100);pen.lineTo(30, -10);pen.lineTo(200, -10);pen.lineTo(200, 10);pen.lineTo(30, 10);pen.lineTo(30, -10);pen.beginFill(0x333311, 100);endFill(pen);pen.beginFill(0xf9f999, 100);pen.lineTo(0, 0);pen.lineTo(30, 10);pen.lineTo(30, -10);endFill(pen);pen._rotation = -50;n = 0;r = 100;a = 1;k = 10;tt = 0;lineStyle(2);moveTo(Math.cos(0*Math.PI/180)*r+200, pen._y);ss = setInterval(function () {a++;if (a>3) { a = 1;}if (a == 1) { lineStyle(2, 0xff0000);}if (a == 2) { lineStyle(2, 0x00ff00);}if (a == 3) { lineStyle(2, 0x0000ff);}n += 30r -=0.3if (n<20000) { pen._x = Math.cos(n*Math.PI/180)*r+200; pen._y = Math.sin(n*Math.PI/180)*r+200; lineTo(pen._x, pen._y);}updateAfterEvent();if (n>=20000) { aa = setInterval(function () { updateAfterEvent(); tt++; if (tt>5000) { clearInterval(aa); clearInterval(ss); } pen._rotation = Math.sin(n*Math.PI/180)*5+90; }, 5); _root.createTextField("t", 2, 300, 350, 150, 20); t.text = "By FLASH8菜鸟 kingofkofs"; pen._x = 400; pen._y = 120;}}, 5);sp = 0;f = 20;this.onEnterFrame = function() {if (tt>5000) { pen._y -= sp; sp += 2;}if (sp>f) { sp = -f; if (f>=4) { f -= 4; }}};

教你如何去掉网页上的Flash动画虚线框
如果你是个细心的网民,如果你是一个仔细的网页设计者,那么你一定有发现这样一个现象:在浏览带有Flash动画的页面,当你把鼠标移动到Flash动画上时,Flash动画四周就会出现虚线框,点击一下方才可以激活。虽然这并不影响Flash动画的播放,但对于具有交互功能的Flash来说,就会给访问者多加了一个操作步骤,效果无疑会大大折扣。 为什么会出现虚线框? 我们知道在以前Flash动画虚线框是不存在的,那么为什么最近会出现这个现象呢?原来微软考虑到IE浏览器的安全性问题,针对IE发布了一项更新补丁,禁止了IE浏览器的ActiveX控件自动激活功能。这样就造成了本来可以直接点的Flash,现在要先多点一下这个虚线框来激活了。 去掉虚线框 既然能加的上去,就一定能去的掉。首先在网页代码之间插入如下代码: <SCRIPT src="objectSwap.js" type=text/javascript> </SCRIPT> 这样网页在加载的时候会自动对页面中的 object 标签进行重写,实现自动激活。 点击这里下载objectSwap.js文件 上面说的方法是外部JS调用法,其实我们熟悉常用的Dreamweaver最新版8.02版也给出了这个问题的解决方法。大家把Dreamweaver升级到8.02版后,再插入Flash文件时,会加入一个脚本来解决这个问题。

用Flash AS推导三角形面积
本文示例源代码或素材下载 先创建一个三角形,然后复制一个并旋转移动与原图拼成一个平行四边形,平行四边形面积=底×高,所以三角形面积=底×高÷2。 演示文件地址:http://file.ddvip.com/2007_08/1187865825_ddvip_5444.rar [过程] 1、创建一个影片剪辑,在帧上写如下代码: 2、把上面元件拖入到主场景中合适的位置。

Flash AS实例教程:用纯AS制作火焰特效
本文示例源代码或素材下载 首先申明不是偶原创,偶只是把效果综合了一下。粒子变幻效果忘记是谁的了,知道出处的朋友请提醒,偶在以后补上。火焰瑞流效果是来自一位朋友的博客里面的摄像头火焰特效,也无处可考证出处,请知道的朋友提醒,偶以后补上。还有个返回无重复随机数组的函数在里面,是坛子里的朋友的,知道出处的朋友也请告知,呵呵呵... 以下是关键原码和原始文件,感兴趣的朋友可以看看:Fire_ok.as:

用Flash Actionscript简单方法实现复杂的图表
代码如下://这个数组的最前一位和最后一位,在这里的作用只起到占位的作用dataTable=[];dataTable.push(["1851-1860",8,5,5,1,0,19]);dataTable.push(["1861-1870",8,6,1,0,0,15]);dataTable.push(["1871-1880",7,6,7,0,0,20]);dataTable.push(["1881-1890",8,9,4,1,0,22]);dataTable.push(["1891-1900",8,5,5,3,0,21]);dataTable.push(["1901-1910",10,4,4,0,0,18]);dataTable.push(["1911-1920",10,4,4,3,0,21]);dataTable.push(["1921-1930",5,3,3,2,0,13]);dataTable.push(["1931-1940",4,7,6,1,1,19]);dataTable.push(["1941-1950",8,6,9,1,0,24]);dataTable.push(["1951-1960",8,1,5,3,0,17]);dataTable.push(["1961-1970",3,5,4,1,1,14]);dataTable.push(["1971-1980",6,2,4,0,0,12]);dataTable.push(["1981-1990",9,1,4,1,0,15]);dataTable.push(["1991-2000",3,6,4,0,1,14]);dataTable.push(["2001-2005",7,2,3,3,1,9]);//这个函数把数组中的每一个元素中的第n个元素存在一个临时的数组,返回这个数组get2dArrayValues=function(handle,n){temp=[];for(vari=0;i<handle.length;i++){ temp.push(handle[n]);}returntemp;};//重点讲一下这个函数drawGraph=function(handle,values,max,grpWidth,grpHeight,Style,xoffset,yoffset){//这两句确定了每个数据点应该相隔多远varxincrement=grpWidth/values.length;varyincrement=grpHeight/max;//为图表创建占位符,依据xoffset,yoffset移动它.重复利用handle变量名,指向createEmptyMovieClip方法创建的子电影剪辑handle=handle.createEmptyMovieClip("graphline"+getTimer(),handle.getNextHighestDepth());handle._x=xoffset;handle._y=yoffset;//定义beginFill样式,开始点handle.lineStyle(0,0xFFFFFF,4);handle.moveTo(0,grpHeight);handle.beginFill(Style[0],Style[1]);//绘制第一根线条,它的值是变化的,保持把这个lineTo与下面的lineTo值隔离开,x是0,y稍微复杂一点handle.lineTo(0,grpHeight-(values[0]*yincrement));//有了上面的起始位置,那么接下来只要遍历余下的值就可以了for(vari=1;i<values.length;i++){ handle.lineTo((i*xincrement),grpHeight-(values*yincrement));}//数组是以0位开始的,所以这里要减1handle.lineTo((values.length-1)*xincrement,grpHeight);//封闭形状handle.lineTo(0,grpHeight);handle.endFill();};//建立一个MCmyGraph=this.createEmptyMovieClip("graphHolder",0);//调用函数后返回的值赋予F1varF1:Array=get2dArrayValues(dataTable,1);//调用函数,求出每个点的位置drawGraph(myGraph,F1,12,800,200,[0x3C4B6C,5],22);//以下同上varF2:Array=get2dArrayValues(dataTable,2);drawGraph(myGraph,F2,12,800,200,[0x3C4B6C,25],22);varF3:Array=get2dArrayValues(dataTable,3);drawGraph(myGraph,F3,12,800,200,[0x3C4B6C,45],22);varF4:Array=get2dArrayValues(dataTable,4);drawGraph(myGraph,F4,12,800,200,[0x3C4B6C,65],22);varF5:Array=get2dArrayValues(dataTable,5);drawGraph(myGraph,F5,12,800,200,[0x000000,85],22);

Flash AS实例教程:用纯AS制作的钟表动画
本文示例源代码或素材下载 [效果] 文章末尾处链接地址可下载 [代码]把以下代码复制到主场景中的第一帧上://画钟表边线this.createEmptyMovieClip("bianxian_mc",1);with(bianxian_mc){lineStyle(2,0xCCCCCC);moveTo(Math.cos(0*Math.PI/180)*96,Math.sin(0*Math.PI/180)*96);for(vari=360;i>=0;i--){ lineTo(Math.cos(i*Math.PI/180)*96,Math.sin(i*Math.PI/180)*96);}_x=100;_y=100;}//创建时间动态文本this.createTextField("my_txt",2,0,0,0,0);with(my_txt){autoSize=true;textColor=0x555555;_x=70;_y=60;}//画12个表格this.createEmptyMovieClip("biaoge_mc",3);with(biaoge_mc){lineStyle(2,0xCCCCCC);moveTo(0,-96);lineTo(0,-92);_x=100;_y=100;}for(i=1;i<12;i++){duplicateMovieClip(biaoge_mc,"biaoge_mc"+i,3+i);setProperty("biaoge_mc"+i,_rotation,i*30);}//画时针this.createEmptyMovieClip("shizhen_mc",16);with(shizhen_mc){lineStyle(4,0x666666);moveTo(0,0);lineTo(0,-60);_x=100;_y=100;}//画分针this.createEmptyMovieClip("fenzhen_mc",17);with(fenzhen_mc){lineStyle(2,0x666666);moveTo(0,0);lineTo(0,-75);_x=100;_y=100;}//画秒针this.createEmptyMovieClip("miaozhen_mc",18);with(miaozhen_mc){lineStyle(1,0x666666);moveTo(0,0);lineTo(0,-90);_x=100;_y=100;}//让时针、分针、秒针动起来this.createEmptyMovieClip("time_mc",19);time_mc.onEnterFrame=function(){my_date=newDate();shi=my_date.getHours();fen=my_date.getMinutes();miao=my_date.getSeconds();shizhen_mc._rotation=shi/12*360+fen/60*30;fenzhen_mc._rotation=fen/60*360+miao/60*6;miaozhen_mc._rotation=miao/60*360;if(shi<10){ shi="0"+shi;} if(fen<10){ fen="0"+fen;} if(miao<10){ miao="0"+miao;} my_txt.text=shi+":"+fen+":"+miao;};//画中心圆this.createEmptyMovieClip("yuan_mc",20);with(yuan_mc){beginFill(0x555555);moveTo(Math.cos(0*Math.PI/180)*4,Math.sin(0*Math.PI/180)*4);for(vari=360;i>=0;i--){ lineTo(Math.cos(i*Math.PI/180)*4,Math.sin(i*Math.PI/180)*4);}_x=100;_y=100;}

面向Flash AS初学者的实例教程:单选题
本文示例源代码或素材下载 [前言] 1、写本教程得到了“终极讨厌”老师的大力帮助,在此表示感谢! 2、初学者写的教程面向初学者,让我们成为高手吧! [效果] [步骤] 第一步:在主场景中从下到上依次创建几个图层——“背景”、“标题”、“题目”、“答案显示”、“答案按钮”、“成绩”、“判断”、“交卷”、“动作”。(“背景”、“标题”、“题目”图层中设置较简单,这里不再叙述)。 第二步:在“答案显示”图层中,拉出几个动态文本框,分别放在每一题的括号中,变量名依次为daan1、daan2、daan3、daan4。 第三步:创建按钮元件,画一个矩形,把矩形拖到最后一帧;打开库,把刚才制作的按钮分别拖到“答案按钮”图层上,放在每一题的选项上,第一题各按钮实例名分别为t1_btn1、t1_btn2、t1_btn3、t1_btn4,第二题把t1改为t2,依次类推。

Flash电子杂志常用滚动区域控制代码
做Flash电子杂志经常需要做文字滚动和图片滚动,于是我编写了这个代码可以方便快捷的使用,提高工作效率。 我一直都在使用这个代码,比较实用,希望大家也喜欢。 使用方法: 做两个按钮做滚动:up_btn,down_btn 做遮罩定下显示的范围:mask_mc 移动的mc:move_mc 把代码贴上去就OK!! 我整理了一下,与大家分享 设置代码CODE: /*program : hqlulumail : hqlulu@163.comwebsite : http://www.aslibra.compublish : 2006-10-31*///判断是否移动var move_it:Boolean = false;//移动方向var dir:Number = 1;//移动速度var speed:Number = 5;//按下的移动速度加倍var scale:Number = 3;//滚轮的移动速度加倍var scale_mouse:Number = 2;//设置上下的边距var margin:Number = 2;//计算移动的范围var max1:Number = mask_mc._y+margin;var min1:Number = mask_mc._y-move_mc._height+mask_mc._height-margin;//是否自动设置遮罩var is_set_mask:Boolean = false;//是否支持鼠标var is_mouse_enable:Boolean = true;//设置按钮、遮罩和移动的对象var my_move_mc:MovieClip = move_mc;var my_up_btn:Button = up_btn;var my_down_btn:Button = down_btn;var my_mask_mc:MovieClip = mask_mc;