推荐阅读
PS抽出滤镜打造MM彩色秀发
今天的这篇教程向朋友们介绍PS抽出滤镜打造MM彩色秀发效果的方法,教程介绍的方法很实用,学习难度也不大,感兴趣的朋友快来学习一下吧!下面是原图最终效果图下面是具体的制作步骤:1、打开原图复制一个图层,然后隐藏背景显示:2、执行"滤镜"-"抽出",画出边缘:3、填充颜色:
帮新手爸爸挑相机
最近不少爸爸问我要买哪一台相机,有些事业有成,有些被老婆逼,有些是自己想试试看摄影,所以问我这除了旅游摄影外没啥嗜好的人的推荐。 其实回答也很简单,有钱的买最贵的,被逼的买最便宜的,想要学摄影花点时间选个适合的多拍才知道。 新手妈妈的问题则不太一样,通常是“老公怎么不想照?”,“老公怎么一直要买镜头?”跟隐藏问题“怎么没把我照漂亮?”这几点。 因为女性朋友常把我当成同性恋,问我一般不敢问男性友人的问题,所以我也据实回答。“你老公照不好因为他不用心,新的镜头他说是需要其实是想要,你想要他把你照漂亮一点要直说,不然他听不懂。” 所以这篇新手爸爸的第一台相机,应该是写给妈妈看的,因为不少妈妈才是实际想要美丽生活照的人。 老公不想照相 几种可能,第一,他是帅/酷哥(或是新的男性物种——小可爱)。这很正常,因为在我经验中大多的帅哥是不照相的。上天给帅哥姣好的长相不是让它被单反挡住。帅哥老公当模特儿很好,不是当摄影师,要理解这个概念。好处是,我认识的帅哥大多很会摆姿势,这从博客会自拍完整面孔的男性大多长相不差可知。 酷哥不一样,重视的是“生活方式”、“态度”。你让他与一堆阿宅拿一样的相机做一样的事,有可能吗?酷哥比较有可能用胶片、LOMO、复古相机,一切跟主流的人有差异的相机。当然,他拍出来的东西有可能抽象、没对焦、没办法,这是“sense”有“feel”。这也是我们凡人与酷哥不一样的地方。 你老公是帅哥或酷哥又想要他好好拍照,真的有点要求太多,人要知足。 怎么没把我拍漂亮?
照片拍摄中你应该避免的6个错误
无论你是身处异国他乡,还是在自家附近散步,都应该意识到拍摄机会是随处可见且稍纵即逝的。因此,你真的需要时刻做好捕捉瞬间画面的准备。本文将向你介绍6个会令照片落入俗套的常见错误,以及如何避免它们。 1. 缺少有力的兴趣点 首先要考虑的是被摄体――是什么以及你为何要拍它。成功的照片都有兴趣点:整个画面围绕的关键元素。兴趣点可能是第一眼就吸引你注意的东西。你需要利用它来抓住观众的注意力。 2. 不够靠近 构图出色的照片会将主题清晰地展示出来。你如何能做到这一点?好办法之一就是让被摄体充满画面。这样可以将所有不必要的元素排除在画面之外。常见的错误之一就是照片上被摄体太小或不够显眼,令观众不知所云。通常你只需走近几步,或者拉近焦距就能令照片有较大改善。 3. 对焦点错误 画面中清晰的部分应该是兴趣点的位置,所以在对焦时你需要格外小心。如果焦点偏移,画面中不重要的部分成了最清晰的,观众的注意力也会随之偏移。 大部分便携相机和所有单反相机都通过半按快门锁定对焦。你应该掌握先锁定焦点,然后平移相机改变构图的方法。这会令你的照片更有创意。 4. 将主体放在画面中央 主体位于画面中央会令照片变得平淡。你应该多加尝试让其偏离中心。如果你对主体的位置没有把握,不妨先从最传统的三分法则开始练习――想象画面的横竖分别有3条等分线,等分线的焦点就是构图位置。
最新发布
Flash AS3教程:类的分包处理
学习Flash AS3自己整理的写的一些类,对学习Flash非常有用! 分包情况: base包:基础包,用于存放初级应用类 bat包:应用包,用于存放高级应用类 com包:系统化包,用于存放系统化的高级应用模块类 exe包:框架包,用于存放框架方面的类 item包:项目包,用于项目上靠经验积累下的类 module包:组件包,用于存放组件的类 这段时间,我个人的情绪非常低落,为了摆脱这段时间的消极状态
Flash游戏开发:BitmapData的使用
作为Flash游戏开发者,整天都在跟Flash的显示效率搏斗。最近为了更好的节约效率,在下做了一些测试,得到了一些结果,同时也感到了一些问题,请诸位高手也帮忙看看! ******************************************************************** 1、copyPixels,5000次,1000*590,没有lock,后addChild cost: 10828 cost: 10844 cost: 10625 2、copyPixels,5000次,1000*590,没有lock,先addChild cost: 10828 cost: 10844 cost: 10625
飘雪Flash动画简单制作
很多女生都喜欢好看的Flash动画,那么想不想自己制作一个呢?今天为大家简单讲解如何制作常见的飘雪动画。 swf大小为550*400; 在flash里画一片雪,设为moveClip,起名snow,删除场景是的雪片,在库中链接,选“为第一帧导出”“为actionscript导出”起名snow,然后在第一帧写入如下代码即可:var t:Timer;t = new Timer(1000,10);t.addEventListener(TimerEvent.TIMER,xue);t.start();function xue(e:TimerEvent):void { var i:int; for (i=0; i<=10; i++) { var tt:snow=new snow(); addChild(tt); var sj:uint=Math.random()*5>>0; tt.x=Math.random()*550>>0; tt.y=Math.random()*400>>0; tt.width=sj; tt.height=sj; //tt.alpha=10; tt.addEventListener(Event.ENTER_FRAME,moveY); }}function moveY(e:Event) { var speed:uint=e.target.width+Math.random()*1>>0; e.target.y+=speed; if (e.target.y>400) { e.target.y=0; }} 发布后效果自己感觉不错
Flash air制作透明雪花特效
本文示例源代码或素材下载 打开FLASH CS3,新建一个FLASH AIR文档,设置窗口模式为透明(设置方法在上篇文章中我已经说过了),创建一个雪花影片剪辑,链接为snow,在场景中创建一个按钮,实例名称为close_btn,在文档类中填写main,保存此文件为snow.fla。新建一个AS文件,放在同目录下,保存为main.as,在其中写入以下代码:package {import flash.display.MovieClip;import flash.display.SimpleButton;import flash.display.StageDisplayState;import flash.display.NativeWindow;import flash.events.Event;import flash.events.MouseEvent;public class main extends MovieClip {private var window:NativeWindow=stage.nativeWindow;private var mysnow:snow;public function main() {stage.displayState=StageDisplayState.FULL_SCREEN;addEventListener(Event.ENTER_FRAME,xh);close_btn.addEventListener(MouseEvent.CLICK,closefunc);}private function xh(event:Event):void {mysnow=new snow ;addChild(mysnow);}private function closefunc(event:MouseEvent):void {window.close();}}} 我们还要为snow影片剪辑写一个包,新建一个AS文件,保存在同目录下,名为snow.as,写入以下代码:package {import flash.display.MovieClip;import flash.events.Event;public class snow extends MovieClip {private var speedy:Number=Math.random() * 6+2;public function snow() {var lastwidth:Number=this.width;this.width=Math.random() * 5;this.height*= this.width / lastwidth;this.y=-5;this.x=Math.random() * 545;addEventListener(Event.ENTER_FRAME,xh);}private function xh(event:Event):void {this.y+= speedy;if (this.y > 400) {removethis();}}private function removethis():void {removeEventListener(Event.ENTER_FRAME,xh);parent.removeChild(this);}}} Ctrl+Enter测试就可以看到效果了。
Flash AS3教程:ClassLoader类
主要用途: 1、在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来 图1(详见例1) 2、将许多许多的类分库到不同的swf中,然后通过调用swf,达到调用类库的功能,然后通过getClass来获取类(详见例2) index.base.net.ClassLoader类讲解: 加载swf文件,并且通过调用getClass获取类,也可以获取命名空间或者函数的定义 构造函数 public function ClassLoader(obj:Object = null,lc:LoaderContext = null) 参数1可以是字符串,可以是ByteArray,如果为前者则采用load方法,后者采用loadBytes方法
Flash AS3教程:ByteLoader类
前面介绍了ClassLoader类的技巧,请观看更多关于Flash教程的内容。 该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来 以便于使用Loader.loadBytes方法,重复加载使用素材 如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示 index.base.net.byteLoader类讲解: 基本功能按字节加载图片,swf等 构造函数 public function ByteLoader(url:String = "") 如果传入了参数url,则立即执行加载! load 加载方法
Flash as3嵌入中文字体的方法
因为最近要做一个项目,涉及到要输入文本,Flash的输入文本默认下是只能显示设备字体。连系统内的字体都不能设置,必须要嵌入才能输入。 as2的时代,可以用加载字体库的方式来解决,Adobe官方的解释太烦琐了,其实总结起来就是一个替换字体的过程,把外部库的自定义字体替换当前的输入字体。 例如如下: 如果是as2的话,新建一个Fla文件share.fla,然后在库里新建一个字体文件,然后设置他的标识为MyFont,随便选择系统内的一种字体,然后选择linkage里的导出as,导出runtime sharing,导出第一帧,然后在url处填写share.swf,然后编译成share.swf 然后新建主文件main.fla,同样在库里新建一个字体文件,然后设置他的url为share.swf,这样他就共享了share.swf里的字体文件,可以在场景里放一个textinput文件来做测试 这样嵌入字体的工作就完成了,as3文件不同的地方在于没有标识这个东西了,那我们在aa.swf(就是上面的share.swf)里设置Classname为自定义的字体名字zhr_font,然后在Main文件里也设置成zhr_font的ClassName
AS3的System类解决歌词中乱码问题
在做FLASH程序时常常会遇到乱码问题,比如在做一个读取同步歌词文件的程序时载入的全是乱码,这是一个让人很头疼的问题,有的人会说,那怕什么?把那个歌词的编码改成UTF-8不就行了吗?但是网站上的下载下来的同步歌词文件大都是ANSI编码的。我们要用的是直接就可以拿来用的。 前面一篇教程讲述的是Flash中解决中文字体的问题。 有很多人写了类来解决这个问题,但写出来的类都很复杂,根本不实用。 那么,难道就没有办法了吗? 当然有,并且这个办法还很简单,我在翻看FLASH CS3的帮助文档时一不小心发现了这个办法(嘿嘿,先自娱一下)。 AS3中有一个System类,只须一个简单的设置就行了。 请看示例:package { import flash.system.*; import flash.display.Sprite; import flash.net.URLRequest; import flash.net.URLLoader; import flash.events.IOErrorEvent; import flash.events.Event; import fl.controls.TextArea; import flash.text.TextFormat; public class sys extends Sprite { private var myxml:XML; private var mytxt:TextArea=new TextArea ; private var req:URLRequest=new URLRequest("test.txt"); private var ul:URLLoader; private var tf:TextFormat=new TextFormat ; public function sys() { tf.size=14; tf.color=0xFF0000; mytxt.setSize(550,400); addChild(mytxt); System.useCodePage=true;//解决中文乱码 ul=new URLLoader(req); ul.addEventListener(IOErrorEvent.IO_ERROR,ioerror); ul.addEventListener(Event.COMPLETE,loaded); } private function loaded(event:Event) { mytxt.setStyle("textFormat",tf); myxml=XML(ul.data); mytxt.text=myxml; System.setClipboard(mytxt.text);//设置剪贴板文本 } private function ioerror(event:IOErrorEvent) { mytxt.text="无相关文件"; } }} 这是我写的一个包,具体怎么用,我想大家都会了,文中蓝色字就是解决乱码的了。 在FLASH中System.useCodePage是布尔类型的且默认值为false,用时只要把其值设为true就行了。
Flash AS3用于读取LRC同步歌词的类
今天心情不错,用FLASH写了一个用于读取LRC同步歌词的类,只要25行代码,完全用是用FLASH的字符串操作来分析标签的。 下面就是这个类:package LRC{ public class readlrc { public function readlrcastime(mp3playtime:Number,gc:String):String { var qsd:int;//起始点 var fhz:String; for (var j:int=0; j < gc.length; j++) { if (gc.charCodeAt(j) == 58) { if (int(gc.slice(j - 2,j)) * 60 + int(gc.slice(j + 1,j + 3)) == mp3playtime) { var i:int=0; do { i++; if (gc.charCodeAt(j + i) == 93) { qsd=j + i; } if (gc.charCodeAt(j + i) == 13) { fhz=gc.slice(qsd + 1,j + i); } } while (gc.charCodeAt(j + i) != 13&&j+i } } } return fhz; } }} 将此文件保存为readlrc.as。 注意:一定要把此AS文件放入一个名为LRC的文件夹中,才可以使用。 下面就用一个小示例来说明如何用这个类,新建一个AS文件,写入以下代码:package { import flash.display.MovieClip; import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.media.Sound; import flash.media.SoundChannel; import flash.system.System; import flash.text.TextField; import LRC.readlrc; public class mp3 extends MovieClip { private var lrcreq:URLRequest=new URLRequest("日不落.lrc"); private var mp3url:URLRequest=new URLRequest("日不落.mp3"); private var mymp3:Sound=new Sound(); private var channel:SoundChannel=new SoundChannel(); private var lrcurl:URLLoader=new URLLoader(); private var tbgc:String; private var mylrc:readlrc=new readlrc(); System.useCodePage=true; public function mp3() { mymp3.load(mp3url); channel=mymp3.play(); lrcurl.load(lrcreq); lrcurl.addEventListener(Event.COMPLETE,loaded); } private function enterframe(event:Event) { try { gc_txt.text=mylrc.readlrcastime(int(channel.position/1000),tbgc); } catch (error:Error) { // } } private function loaded(event:Event) { tbgc=String(event.target.data); addEventListener(Event.ENTER_FRAME,enterframe); } }} 保存此文件为mp3.as。
优化Flash Actionscript代码的三种方法
第一章 AS3的一些优化计算方法 1.用乘法来代替除法(当除数可转化为有限数的时候)。比如var n:Number = value * 0.5;要比var n:Number = value / 2;快。但差别并不是很大。只有在需要大量计算情况下,比如3D引擎中差别才比较明显。 2.用位运算代替除2或乘2。比如10>>1要比10*2快,而10<<1要比10*2快。从测试来看位运算几乎比乘除快一倍,但是一般情况下,我们不能选择位运算,比如我们就不能用13>>1来代替13/2,尽管前者比后者运算速度更快,但2者的运算结果却不一样。所以还是要看具体情况。 3.用unit()或int()代替取整运算Math.floor()和Math.ceil()。比如var test:uint = uint(1.5);要比var test:Number = Math.floor(1.5);快;而var test:uint = uint(1.5)+1;要比var test:Number = Math.ceil(1.5);也快。如果是Math.floor(),还可以用位运算(>>0)来代替。比如var test:uint =1.5>>0,比unit()或int()更快。 4.用乘-1来代替Math.abs()方法。比如var nn:Number = -23;var test:Number= nn < 0 ? nn * -1 : nn;要比var nn:Number = -23;var test:Number = Math.abs(nn);快。 当然还有更多的优化计算的方法。一般来说,低级运算要比高级运算速度;内部方法比调用其他方法速度快。另外要注意的是,这些方法有的时候可能并一定适用。 第二章 Actionscript 优化指南 来源 gotoAndStop.it 原著 Marco Lapi,alias Lapo, aw译 在这篇文章中,我们将讨论多种优化 Actionscript 代码的方法.
