推荐阅读
摄影知识之:关于色温
关於彩色摄影,色温会影响一张照片的感觉。在早晨或黄昏拍摄的照 片会偏红,在钨丝灯光下拍摄照片颜色会偏黄,这些现象都是因为当时的色温不能符合软片的色温标准而产生色偏。在物理上,把称做完全黑体的 物体完全加热,温度上升,开始变成红色呈红热状态,再继续加热会变成 白色,呈白热状态。在红热状态时,光源放射能低,光波长,其红色成分 较多,白热状态时,光源放射能高,波长短,其蓝色成分多。凡发光物体 温度越高,光的颜色越白,温度越低,光的颜色越红。在同一钨丝灯下电 压低时的灯光比电压高时还红。 应用在摄影方面,色温就是发光物体由红 到白色各级温度所放射光线中包含颜色的成分。色温高低的度数以 K 表 示,也就是将摄氏温度 +297。色温K数变化时,蓝色光的成分并不随其等 量的变化,所以在加滤光镜调整色温时换算不是很方便。於是有DM值的设 计,DM值的计算方法是将色温K 数倒数的十万倍,所以色温越高,DM值越 低,色温越低,DM值越高。用DM值的优点是,DM值变化时,光线的蓝色成 分随其等量变化,如此就可以由软片色温的DM值和光线色温的DM值的差额 ,来决定用什麽号数的色温滤光镜。 例如日光型彩色软片色温标准为19DM (相当5400K),用在光线色温 14DM(相当7000K)的情况时,两者相差5DM,应用红色R5号滤光镜以降低色温。 时间 光源色温K数 光源色温DM 日出时 2000 50 日出後或日落前20min 2100 48 日出後或日落前30min 2400 42 日出後或日落前40min 2900 35
PS制作动态文字的案例教程
今天给大家分享一个PS制作动态文字的案例教程,PS的功能十分强大,不仅可以美化图片、排版设计还可以对GIF动图进行制作,那究竟怎么做呢,下面就让我们来看看具体的操作步骤吧。效果图1、新建一个合适尺寸的画布;2、分别分图层输入文字,并将所有图层的小眼睛关掉,只留下“PS”图层;3、单击“窗口-时间轴”;4、单击“时间轴”中的“创建帧动画”;5、.单击“创建帧动画”后,在“时间轴”中会自动载入“控制面板”中位于顶部的图层;6、单击“复制所选帧”;7、关掉“PS”图层的小眼睛;打开“制”图层的小眼睛;8、使用同样的方法处理剩余的图层;
打造玉石质感
教程是王敬的PS质感系列教程,飞特已经有了其他的质感教程,但是这一个玉石质感的没有,我把这个发布过来,这样就比较完整了,我们先看看最终效果图 下面是具体的制作步骤:首先制作出玉佩的形状。 添加图层样式,“斜面与浮雕”选项。
突破自拍局限的技巧
很多摄影师并不喜欢对着别人的镜头表现自己,或是受人摆布,他们更享受自拍带来的乐趣。但很多人认为自拍就是伸长胳膊,举着相机对准自己的脸,其实自拍有更多的方式来突破这些局限。下面sherry提供7个小技巧来提高自拍质量。 1.无线遥控器 大部分相机的自拍功能定时最长为10秒,显然这段时间对于一些自拍想法的实现并不够,并且相机不一定能够准确对焦,你确定要用替身么,开玩笑,那么你需要一个无线遥控器,或是足够长的快门线,准确对焦就不是一个难事,并且你可以有足够的时间准备做复杂动作。 2.改变焦点 你可能认为一幅很好的自拍像的焦点应该落在自己的脸上,但是也许成为模糊的背景会更有意思。 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 代码的方法.