推荐阅读
Illustrator设计制作古典花纹图案教程
先来看下最终效果:一、绘制图案中的花形1、单击工具箱中的“星形工具”按钮,在页面中单击鼠标左键,弹出“星形”对话框,其参数设置如图(1)2、单击“确定”按钮,在页面中绘制一个星形,星形的轮廓色设置为橘黄色(R:255,G:204),如图(2)3、选取绘制的星形,然后将星形由下向上添加白色到紫色(R:152,G:2,B:126)的放射状渐变色,添加渐变色后的图形如图(3)4、单击工具箱中的“转换描点工具”按钮,在星形的控制点上按下鼠标左键拖曳,此时将在控制点的两侧出现控制柄,状态如图(4)5、拖曳鼠标到合适位置后释放,在右侧出现的控制柄上按下鼠标左键拖曳,将其中的一个控制柄进行调整,其控制柄的调整状态如图(5)提示:当第一次在控制点上按下鼠标左键拖曳时,在控制点的两侧将出现两个控制柄,任意拖曳鼠标的位置,出现的控制柄将始终以控制点为对称点。当释放鼠标,再次调整任意一个控制柄时,另一个控制柄将处于锁定状态。当对图形调整后,再次在控制点上单击鼠标时,调整后的控制点将还原为没有调整时的形态。
Photoshop基础教程之浮动面板综合简介
这节课简单介绍下photoshop浮动面板的组成以及种类。各种浮动面板的使用技巧和方法。具体的使用我们在以后进行讲解。 ★.浮动面板的组成: 浮动面板是Photoshop中非常重要的辅助工具,它为图形图像处理提供了各种各样的辅助功能。下面是浮动面板的名称:
如何制作狐狸叫派对海报图片的PS教程
一首狐狸叫的网络歌曲红了全球,以此为创作的广告层出不穷。下面是以此为主题的派对海报制作。过程:先构思好内容,当然少不了狐狸,然后把派对的一些元素加进去,画面看上去有个性即可。最终效果 一、选一个有纹理的背景。 二、快速找个合适的人物素材,感觉差不多就行了,注意前提是要清晰一些的素材,毕竟作为画面的主体。 三、找一个狐狸素材,最好背景干净些容易抠图,如果毛发清晰,就用“通道载入选区”方法来抠图,如果不太好抠图就随意先抠图,然后下载“毛发笔刷”来填补周边的绒毛。
Photoshop CS2 入门之菜单介绍
虽然你毫无疑问地想要自己动手把照片做些处理,想要马上发挥你的潜能,但是我建议你最好先着重了解一下Photoshop是如何工作的。首先确保你的Photoshop CS2已经正确的安装,并且事先浏览此程序各个方面的功能以便使你对它的工具和布局有一个基本的了解,这样在将来我们真正操作的时候能更方便,更熟练。当准备好开始你的Photoshop之旅的时候,要事先通过双击Photoshop图标登陆此程序。当Photoshop加载完成之后,它的菜单条、工具箱以及四个控制浮动面板出现在屏幕上。图1显示了Photoshop cs2在windows下的外观,如图所示:如果宽度没有设置成500,高度没有设置成360,现在让我们输入这些值。通过点击“宽度”域来选择它,然后输入500。按下TAB键,移动光标到“高度”域,输入360。各域之间的光标移动可以通过用鼠标点击,也可以通过按Tab键进行切换。我们一般把“分辨率”设置为72象素/英寸。Photoshop CS2将72ppi作为缺省设置,因为大多数显示器在屏幕区域中每英寸显示72个象素。换句话说,文档设置的分辨率与显示器的分辨率一样。如果你的设置不是72ppi,将其改成72。如果加大了分辨率、高度或宽度的值,那么图象的尺寸也会随之增大。在我们实际操作中我们尽量避免大图像,因为大图象在操作的时候非常笨重,反应比较慢,而且它还会降低计算机的速度。在“模式”选项中,应该设置为RGB颜色(红/绿/蓝)。Photoshop CS2将RGB颜色作为缺省设置,因为RGB是视频显示器显示颜色的标准色彩模式。在RGB模式中,颜色由红、绿、蓝三种颜色组合而成。当设置成RGB颜色模式的时候,Photoshop CS2的所有绘图和编辑属性都是有效的。如果你的计算机没有设置为RGB颜色模式,可以通过点击“模式”的弹出式菜单选择“RGB颜色”来设置RGB颜色。如果你想要把新建的图层背景是白色的,请点击组合框的“白色”按钮。如果你选择了“背景色”选项,Photoshop CS2上次使用的背景色将作为你新建文档的背景色。如果你选择“透明”,你将工作于一个没有颜色值的背景层上,当我们点击“确定”按钮关闭新建对话框时,一个新的文档窗口将出现在你的屏幕上,在窗口的主题条中写着文件的名字(未标题)、当前的显示模式和放大比例。可以滚动、改变大小和关闭Photoshop CS2的窗口,也可以通过单击和拖动主题条的方法把窗口移动到你想要位置。我们还可以通过选择“视图”颉胺糯蟆被蛘甙聪CTRL+“+”放大图片;选择“视图”颉八跣 被蛘甙聪CTRL+“-” 来缩小图片。二、Photoshop CS2菜单 Photoshop CS2的菜单条包含9个下拉式菜单。越熟悉Photoshop CS2的功能,那么越会在操作Photoshop CS2时选择正确的工作路径。下面的部分将对Photoshop CS2菜单中9个下拉式菜单做一下介绍。1、“文件”菜单: “文件”菜单中的大部分命令用于对文件的存储、加载和打印这些命令,如“新建”、“打开”、“保存”、“另存为”、“页面设置”和“退出”命令在其他Windows中的应用程序中都是极其普遍的。我们先看一下“文件”下拉菜单中的界面,如图3所示:
最新发布
Flash代码实例:神奇的互动橡皮刷
以前用Flash做橡皮刷的时候通常都是通过绘制底图实现的,最近在发现其实还有一种更好的实现方法就是用bitmapdata的alpha通道。 只要在一张图片上用draw画一个透明度为零的图片,就可以实现在draw的区域图片透明了。 完成效果如下: 点击选择右边的橡皮刷或者画笔图标,再用鼠标在画面上拖动,看看会出现什么情况? AS代码如下://导入所需要的类import flash.display.BitmapData;import flash.geom.Rectangle;import flash.geom.Point;//初始点(0,0)var base_point:Point = new Point(0, 0);//初始区域(0,0,25,25)var base_rectangle:Rectangle = new Rectangle(0, 0, 25, 25);//导入库中图片var bit1:BitmapData = BitmapData.loadBitmap("img1");//定义org_bit:BitmapData用于恢复图片var org_bit:BitmapData = new BitmapData(mc._width, bit1.height, true, 0);org_bit.draw(bit1);//draw_bit拷贝org_bit用于涂鸦操作var draw_bit:BitmapData = org_bit.clone();//导入到舞台中_root.createEmptyMovieClip("draw_mc", 1);draw_mc.attachBitmap(draw_bit, 1);//定义橡皮刷erase_bit和笔刷redraw_bit argb为0(透明)var erase_bit:BitmapData = new BitmapData(mc1._width, mc1._height, true, 0);var redraw_bit:BitmapData = erase_bit.clone();//橡皮刷erase_bit填充为白色,这里注意a必须不为0 rbg为FFFFFFerase_bit.fillRect(erase_bit.rectangle, 0xFFFFFFFF);//定义橡皮刷erase_bit和笔刷redraw_bit形状 注意mc1必须为黑色 你也可以尝试用别的颜色看看效果慢慢体会吧erase_bit.draw(mc1);redraw_bit.draw(mc1);//交换erase_bit r通道和a通道数值 所以a通道数值为00erase_bit.copyChannel(erase_bit, erase_bit.rectangle, new Point(0, 0), 1, 8);//保存当前使用的工具var tools:String;//点击笔刷工具mc_bursh.onRelease = function(){this.gotoAndStop(2);mc_earse.gotoAndStop(1);tools = "bursh";};//点击橡皮刷工具mc_earse.onRelease = function(){this.gotoAndStop(2);mc_bursh.gotoAndStop(1);tools = "easre";};//在draw_bit上涂鸦draw_mc.onPress = function(){trace(tools);if (tools == "bursh"){this.onMouseMove = bursh_pic;}if (tools == "easre"){this.onMouseMove = earse_pic;}};//停止涂鸦draw_mc.onRelease = function(){delete this.onMouseMove;};//橡皮刷工具function earse_pic(){var now_rect:Rectangle = new Rectangle(_xmouse, _ymouse, _xmouse+base_rectangle.width, _ymouse+base_rectangle.height);trace(now_rect);//在draw_bit上使用copyPixels alpha为false 透明区域透明 不透明区域保持原色draw_bit.copyPixels(draw_bit, now_rect, new Point(_xmouse, _ymouse), erase_bit, new Point(0, 0), false);updateAfterEvent();}//笔刷工具function bursh_pic(){var now_rect:Rectangle = new Rectangle(_xmouse, _ymouse, _xmouse+base_rectangle.width, _ymouse+base_rectangle.height);trace(now_rect);//在org_bit上使用copyPixels alpha为true 则笔刷工具只有不透明的地方起作用draw_bit.copyPixels(org_bit, now_rect, new Point(_xmouse, _ymouse), redraw_bit, new Point(0, 0), true);updateAfterEvent();}//移动背景图观察效果mc.onPress = function(){this.startDrag();};mc.onRelease = function(){this.stopDrag();};
用Flash AS代码制作美丽光影变幻动画
效果演示: 制作思路: 这个影片剪辑中包含了五帧,每一帧上有不同颜色的小球,我们通过Actionscript代码来控制跳定位在不同颜色的小球上,从而实现不同颜色小球之间相互叠加,并在场景中复制,同时通过Actionscript控制小球的自动移动,并应用融合效果。 制作方法: 1.新建一个Flash文档,文件的场景大小设置为590*350.背景为黑色.帧频设置为31,将其另存为blendmode3.fla. 2.打开新建的blendmode3.fla.在主场景中绘制一个38*38大小的园形二维形体,按下shift+F9打开混色器,选择放射状添充,当选择蓝色,如下图所示. 注意右边的混色器,在下面的滑块中,我们左边用的是蓝色,右边是也蓝色,但它的透明度是0,添充后效果如下图所示。 注意这个园形的大小当前为我们放大后观看的效果,它的原本大小为38*38。
Flash制作简单光晕变幻动画特效
本例中我们用Flash来模拟光斑的动画效果,效果如下。从中我们可以学习色彩的调节变换,调节出好的色彩才会使图像更加亮丽,增加层次感和视觉效果。 效果演示: 1. 单击Flash文件菜单点新建命令新建一个动画文件,再单击修改菜单中的场景,在弹出影片属性框中作一下修改,宽(width)为300px,高(height)为160px,背景色为黑色,按确定按钮。 图1 2.单击“插入”菜单中“添加组件”命令,新建一个组件取名为gux(随便取名),性质设为图像,按确定进入gux的编辑区。 图2 3. 从左边的工具栏中选择矩形工具,在下面的线条颜色按钮上单击,在弹出的选色面板左上角有个描边按钮,把它关闭,如左图,目的是在画出的矩形中去掉外边框。 在工具栏的下面填充颜色按钮上单击, 在弹出的选色面板上单击顶部中间的配色按钮。 图3 4. 在弹出的颜色面板上选择渐层,设置类型为线渐层,在配色坐标上排列5个色标,从左到右5个色标的值分别为(0,0,0)、(250,100,0)、(250,250,200)、(250,100,0)、(0,0,0),两个黑色Alpha的值为100%,如下图。
用Flash AS行代码画一棵漂亮的树
本文中我们用用Flash AS代码来画一棵漂亮的树,只有25行代码。 AS代码如下:varmc=this;functiondl(ax,ay,bx,by){mc.moveTo(ax,ay);mc.lineStyle(0,0x000000,100);mc.lineTo(bx,by);}functionlzh(x,y,l,angle,n){if(n>0){vara_l,a_r,x1,x1_l,x1_r,y1,y1_l,y1_r,x2,x2_l,y2,y2_l,x2_r,y2_r;x1=x+0.5*l*Math.cos(angle*Math.PI/180);y1=y-0.5*l*Math.sin(angle*Math.PI/180);x2=x+l*Math.cos(angle*Math.PI/180);y2=y-l*Math.sin(angle*Math.PI/180);dl(x,y,x2,y2);a_l=angle+30;a_r=angle-30;l=l*2/3;lzh(x2,y2,l,angle-random(10),n-1);lzh(x1,y1,l*2/3,a_l,n-1);lzh(x1,y1,l*2/3,a_r,n-1);lzh(x2,y2,l*2/3,a_l,n-1);lzh(x2,y2,l*2/3,a_r,n-1);}}lzh(300,400,120,90,6);
如何用AS代码隐藏Flash的右键菜单
第一种写法:varmy_cm:ContextMenu=newContextMenu();//新建一个菜单对象my_cm.hideBuiltInItems();//新建一个菜单对象的内容隐藏my_cm.builtInItems.print=true;//如果你想要某个或某几个出现,可以这样设置,这里设置的仅显示"打印"this.menu=my_cm;//将菜单附加到对象 第二种写法:varmy_cm:ContextMenu=newContextMenu();//新建一个菜单对象my_cm.builtInItems.print=false;//要删除的菜单项设置为falsemy_cm.builtInItems.quality=false;my_cm.builtInItems.zoom=false;my_cm.builtInItems.forward_back=false;this.menu=my_cm;//将菜单附加到对象 下面是可控制的菜单项目: zoom:缩放 quality:显示质量 play:播放 loop:循环 rewind:后
Flash AS制作上升的水泡效果动画
本文介绍用Flash的AS代码制作上升的泡泡的动画。 如果一个一个的画,工作量繁重并且效果并不好。我们利用AS的复制语句来实现水泡的数量,利用设置属性来改变透明度,大小等。最后在影片剪辑中设置水泡的左右摆动。综合在一起就可以实现水泡上升的效果了。 具体步骤: 1.Flash MX中新建一文档。并适当修改文档属性(400×300,蓝色背景) 。 2.建一个影片剪辑,命名为“h2o”。进入编辑区以后,利用绘图工具,渐变填充绘制一个水泡。 3.回到主场景,把图层1命名为“h2o”。从库中把“h2o”影片剪辑拖放到场景的下方,在下面的属性面板中命名它的分身名为“h2o”。 4.主场景中新建一个图层,命名为“as”。在第1帧添加AS:i=1while(i<=30){duplicateMovieClip("h2o","h2o"+i,i);setProperty("h2o"+i,_x,random(400));setProperty("h2o"+i,_y,random(100)+300);setProperty("h2o"+i,_xscale,random(60)+40);setProperty("h2o"+i,_yscale,getProperty(eval("h2o"+i),_xscale));setProperty("h2o"+i,_alpha,random(30)+70);i++}_root.h2o._visible=0 5.具体解释如下:
Flash AS代码常用调试语句trace()的使用
Flash中的trace();函数是测试flash影片的输出信息,例如查看影片中的某个变量的数值,方便AS代码的调试,让我们知道变量的值是不是自己要的结果。 trace();语法为: trace(变量或其它信息); 例如,我们设定一个变量bb=10,然后在帧的动作栏里输入: bb=10; trace(bb); 按Ctrl+回车测试影片时,就会弹出输出栏,显示10. 其它信息指的是数字或文字,字符.如: trace(10); trace("天极设计在线"); 分别输出的信息是:10和天极设计在线.注意,文字或字符要用""围起来.
Flash教程:AS下雨动画效果的制作
先看下效果:(附.swf文件) 制作过程 一、新建一图层,大小随意; 二、新建元件(影片剪辑): 1、制作雨滴并下落。使用直线工具(颜色设为灰色,1像素)画一短直线,使用选择工具将直线移到上方(最好移到文档上面一点),在第15帧(要雨急则帧短,反之则长)处插入关键帧,并将直线向下移动,选择1至15帧之间任意一帧,选择属性下补间,选择形状。然后在第16帧处插入空白关键帧,在第36帧处插入空白关键帧,并在该帧上写入代码stop();(这是为了让雨不过于密急)。 2、制作水波。锁定图层1新建一图层2,在图层2第15帧处插入空白关键帧,使用椭圆工具(笔触设为灰色,填充色设为无)在直线下方画一椭圆,选择第15帧并将其移动到16帧,在第35帧插入关键帧,使用变形工具将椭圆放大,使用选择工具点击椭圆,将其透明度设为5,再在15-35帧之间创建形状补间动画。 三、点击场景回到场景,按CTRL+L打开库面板,将元件拖到场景的图层1,并调整到合适位置,在第170帧处插入关键帧。使用选择工具点击元件实例,在属性面板中写上实例名称,随意写,我这里写的是mc(如果你不是写的mc,请在代码中将mc改为你写的名称)。 四、新建一图层,在第1帧处插入代码c=1;在第2帧处插入空白关键帧,并将以下代码复制到动作面板中。 function ee(){ duplicateMovieClip("mc",c,c); setProperty(c, _x,random(550)); setProperty(c, _y,random(200)); updateAfterEvent(); c++; if (c>300) { clearInterval(kk); } } kk=setInterval(ee,120);
设计实现flash小球沿菱形运动
如何使小球沿菱形运动(不用引导线),其实方法有多种,下面帖一种比较简单的方法,老鸟们别看了(浪费你的时间). 以下代码中 ball是那个红色小圆点, rhombus 是那个菱形 //初始值 var x0:Number = rhombus._x, y0:Number = rhombus._y, w:Number = rhombus._width, h:Number = rhombus._height; //四个顶点的坐标(从上往右往下往左) var xy_array:Array = [[x0, y0-h/2], [x0+w/2, y0], [x0, y0+h/2], [x0-w/2, y0]]; //开始点坐标,定点在最高处,其中startX startY 两个变量决定到达转折点折反时的起始坐标值 var startX:Number = ball._x=xy_array[0][0]; var startY:Number = ball._y=xy_array[0][1]; //k 决定取数组中哪个元素的值 var k:Number = 1; ball.onEnterFrame = function() { //匀速运动,也就是将终点坐标与起点坐标的长度分成50个等份,ball坐标每次移动1个等份,直到终点 this._x += (xy_array[k][0]-startX)/50; this._y += (xy_array[k][1]-startY)/50; //当到达最右边点时 if (this._x>=(xy_array[1][0]-1)) { //定义ball坐标和起点坐标的值,防止ball出现偏移,下面各个if 中意思相似 this._x = startX=xy_array[1][0]; this._y = startY=xy_array[1][1]; k = 2; // k值变化决定终点坐标值,下同 } if (this._y>=(xy_array[2][1]-1)) { this._x = startX=xy_array[2][0]; this._y = startY=xy_array[2][1]; k = 3; } if (this._x<=(xy_array[3][0]+1)) { this._x = startX=xy_array[3][0]; this._y = startY=xy_array[3][1]; k = 0; } if (this._y<=(xy_array[0][1]+1)) { this._x = startX=xy_array[0][0]; this._y = startY=xy_array[0][1]; k = 1; }};
Flex程序开发心得小结
和Flash的开发环境相比,Flex提供的组件库确实很诱人,但由于功能太全面,导致程序的体积大,有时候使用不当,可能会影响程序运行效率。 在Flex的帮助手册中,有一个专门的章节讲了程序的优化,下面是我结合帮助作的几点小结: 1、避免容器的多级嵌套,减少相对尺寸、相对定位的使用。在使用百分比来给容器内的元件定尺寸,一旦容器中的任何一个元件的位置和尺寸变化,都会引发容器对所有子级的重定位动作。如果嵌套的级别很深,这个计算量会很大。 2、尽量使用轻量级的容器Canvas是体积最小的容器,它只支持绝对定位。很多时候,都可以使用它来代替HBOx和VBox。另外,Canvas也是我们编写自定义容器性质组件的一个首选。它具有容器的基本功能,利于扩展。 3、避免使用大体积的组件,比如DataGrid、AdvancedDataGrid大个子组件的功能强大,但开销也是非常大的。由于功能的复杂性,使得皮肤、样式、itemRenderer的实现都格外复杂。 4、处理数据时多用分页的方式在使用数据类型控件时,尽量减少数据一次的显示量。比如TileList,它会把数据一次性全部创建,不管是不是需要显示,这样很浪费资源。 ViewStack 、TabNavigator等在处理元件时,并不是一次创建,只要元件在第一次被显示时才创建,这样,就避免的不必要的开销。 5、setStyle和styleNameFlex 组件的皮肤都是可视化元件,组件在自身初始化时,会使用当前的样式比如styleName完成所有皮肤元件的绘制。如果我们在运行期间通过setStyle修改了组件的样式,组件的尺寸、位置就会作相应调整。联系到第一条,如果组件位于一个层级很深的容器中,也会有一个大的计算量。