推荐阅读
CorelDRAW绘制绿色的森林一角场景
该实例制作了一幅森林场景画面,画面以绿色调为主,通过不同绿色之间的搭配关系营造出丰富的色彩关系。在处理手法上要注意表现画面的纵深感,并且要层次分明、主次有序。图3-2为本实例的完成效果。图3-2 本实例完成效果3.1.1 技术提示本实例的画面具有一定的纵深感,制作时通过为图形添加阴影效果,拉开了画面的层次,给人一种纵深的空间感。如图3-3所示,为本实例的制作流程。图3-3 本实例制作流程3.1.2 制作步骤:绘制远景植物(1)启动CorelDRAW,新建一个工作文档,在属性栏中将“微调偏移值”设为0.1mm,其他参数保持系统默认。然后使用“矩形”工具,在视图中绘制矩形。如图3-4所示。
Photoshop调出唯美冷色效果的外景人像
最终效果原图1、打开素材图片渐变映射调整图层,参数如下 选用较暖的明暗色作为叠加层,确定后把混合模式改为“叠加”,不透明度改为:30%,如下图。2、创建色彩平衡调整图层,参数及效果如下图。
(10-2):使用字符调板
1012以上是在文字工具的公共栏中出现的选项。在点击了字符调板按钮后即会出现字符调板【窗口_字符】,如下图。在其中可以对文字设定更多的选项。在实际使用中也很少直接在公共栏中更改选项,大多数都是通过字符调板完成对文字的调整的。其中的字体、字体形式、字号、颜色、抗锯齿选项就不重复介绍了。注意其中的为亚洲文本选项,需要在Photoshop首选项〖CTRL_K〗的常规选项中开启“显示亚洲文本选项”才会出现。1013拼写检查选项是针对不同的语言设置连字和拼写规则,如下右图显示了英国英语和美国英语对同样文字的不同连字方式。注意,末尾连字只有在框式文本输入时才有效。因为框式文本是自动换行的。通过手动换行的文字是不会有连字效果的。有关框式文本的输入方法在本节后面部分介绍。连字和拼写规则对于中文是没有意义的。因为汉字为单体结构,即一个汉字字符已携带完整含义,而字母系语言需要多个字符组合才能携带完整含义。也正是因为汉字携带的信息巨大,因此现在电脑的计算能力还不足以完美处理中文化的信息结构。-1014行间距控制文字行之间的距离,若设为自动,间距将会跟随字号的改变而改变,若为固定的数值时则不会。因此如果手动指定了行间距,在更改字号后一般也要再次指定行间距。如果间距设置过小就可能造成行与行的重叠。如下左图是自动行距与手动指定为12像素行距的比较。如果有重叠发生,下一行文字将会遮盖上一行。1015竖向缩放相当于将字体变高或变矮,横向缩放相当于变胖和变瘦,数值小于100%为缩小,大于100%为放大。如下右图中3个字分别为标准、竖向50%、横向50%的效果。-1016在字符调板中有比例间距和字符间距,它们的作用都是更改字符与字符之间的距离,但在原理和效果上却不相同。我们可以动手来理解它们的区别,新建一个足够大的图像,打上simple这几个字母,字体为黑体,大小为72像素。如下图左端所示,我们看到整个文字的宽度是由字符本身的字宽与字符之间的距离构成的。这两者都是在制作字体的时候就定义好的。有的字符本身较窄,但其左右的字距也较大,这样做是为了保证每个字符占用的宽度一致。否则,较窄的字符就只能占用较小的宽度。但这种设计却也造成了字符之间疏密不同。如下图中的mp之间与pl之间的疏密就不同。这种情况一般出现在使用中文字库输入字母的时候,Windows系统自带的黑体、宋体、楷体字体都存在这种现象。因此输入英文时应避免使用这些字体。字宽与字距间的比例将随着字号的大小相应改变,也就是说,对于同一个字体来说,字号越大,字符之间的距离也越大。反而反之。那么,字符间距选项的作用相当于对所有字距增加或减少一个相同的数量。可手动输入数值。如下图中将字符间距减去100,所有的字符间距都减去100,字符就互相靠拢了。但是这样做并没有改变疏密不同的情况,尽管mp已经是互相紧靠着密不透风,但pl还是有很大的距离。当然,如果继续减少字符间距也可以最终令pl之间也“密不透风”(设为-300左右),但mp之间却会产生重叠的效果了。我们可以用一个简单的算式来理解:假设mp原来的距离为100,pl之间的距离为300,当字符宽度设置为-100的时候,mp之间的距离为0,pl之间的距离还有200。要令pl之间的距离为0,字符宽度必须设置为-300,但同时mp的距离必须为-200,所以mp产生了重叠的现象。比例间距选项的作用是同比例地减少(注意,只能是减少而不能增大)字符的间距。按照上一个算式中的前提来假设计算的话就是:当比例间距设为50%,相当于所有字符间距减半(mp间距为50,pl间距为150),当设为33%的时候,所有字符间距减为原先的三分之一(mp间距约为30,pl间距为100),当设为100%的时候,所有字符的间距就都被降为0了。因此我们看到的效果是所有字符都彼此依靠(抗锯齿选项及字体形式的不同可能带来微小差异)。1017间距微调选项是用来调整两个字符之间的距离,使用方法与字符间距选项相同。但其只能针对某两个字符之间的距离有效。因此只有当文本输入光标置于字符之间时,这个选项才能使用。1018竖向偏移(也称基线偏移)的作用是将字符上下调整,常用来制作上标和下标。正数为上升,负数为下降。一般来说作为上下标的字符应使用较小的字号。如下图。1019强迫形式的名称是我们为了与文字形式相区别而起的,它的作用也和文字形式一样是将字体作加粗、加斜等效果,但选项更多。即使字体本身不支持改变形式,在这里也可以强迫指定。它与字体形式可以同时使用,效果加倍(更斜、更粗)。其中的全部大写字母选项的作用是将文本中的所有小写字母都转换为大写字母。而小型大写字母选项的作用也是将所有小写字母转为大写,但转换后的大写字母将参照原有小写字母的大小。如下图所示。上标与下标选项的作用与竖向偏移类似,就是增加了可同时缩小字号的功能。下划线选项与删除线选项的作用是在字体下方及中部产生一条横线。
用PS完美抠出复杂的羽毛头饰的简单教程
打开如下图片,复制图层,将 背景 层锁定。我们将在复制层进行抠图,隐藏背景层。选择 >> 色彩范围,打开色彩范围窗口,选择最左边的吸管工具并点击图像背景,这时在色彩范围窗口中你会发现被选择部分变成了白色,移动颜色容差滑杆,使得图像大部分区域变成黑色,并且背景易于选取。提示:要添加颜色到选区时,应使用中间的吸管工具点击要添加的色彩部分2 获得选区,在通道面板中,按下“将选区存储为通道”按钮,得到一alpha通道,取消选择(Ctrl+D),点击“Alpha 1”层,这时图像变成黑白色。提示:图像中的黑色区域是我们要保留的部分,白色为要扣除的部3 这时我们发现图像中还有部分灰色区域,这些将成为半透明区域,所以必须将他们调整为纯黑色或纯白色。图像 >> 调整 >> 色阶,打开色阶窗口,由左向右拖动黑色滑杆直到灰色区域变为纯黑色为止。由右向左移动白色滑杆将白色区域变的更清晰4 选择黑色笔刷并提高笔刷边缘硬度,涂抹需要保留的区域,用白色笔刷涂抹羽毛边缘,根据涂抹区域大小的不同使用不同粗细的笔刷
最新发布
深入了解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;