博客

  • 儿子的第一张照片

    儿子的第一张照片

    2014年10月8日儿子出世啦,当时正是过完国庆后第一天上班,一大早就得到了喜讯,于是急急忙忙买了最早的机票赶回家。到了老家医院都已经是晚上,拍下儿子第一张照片!

  • 设计分享02-Banner五重奏

    设计分享02-Banner五重奏

    转载自:http://www.zcool.com.cn/article/ZMTg0OTQ4.html

  • 留言本

    留言本

    欢迎给我留言

  • jQuery命名冲突解决的五种方案

    jQuery命名冲突解决的五种方案

    引言:

    最近遇到个问题,同时引用了jquery库和另外一个js库。当用$XX去调用js库函数时,发现失效了!于是找资料,原来是jquery命名冲突了。因为许多 JavaScript 库使用 $ 作为函数或变量名,jquery也一样。其实$只是jquery的一个别名而已,假如我们需要使用 jquery 之外的另一 js 库,我们可以通过调用 $.noConflict() 向该库返回控制权。下面是收集到解决这一问题的五种方案,总有一种你会用得上的。

    例一:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>冲突解决1</title>
    <!-- 引入 prototype  -->
    <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
    <!-- 引入 jQuery  -->
    <script src="jquery-1.3.1.js" type="text/javascript"></script>
    </head>
    <body>
    <p id="pp">test---prototype</p>
    <p >test---jQuery</p>
    
    <script type="text/javascript">
    jQuery.noConflict();				//将变量$的控制权让渡给prototype.js
    jQuery(function(){					//使用jQuery
    	jQuery("p").click(function(){
    		alert( jQuery(this).text() );
    	});
    });
    $("pp").style.display = 'none';		//使用prototype
    </script>
    </body>
    </html>

    例二:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>冲突解决2</title>
    <!-- 引入 prototype  -->
    <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
    <!-- 引入 jQuery  -->
    <script src="jquery-1.3.1.js" type="text/javascript"></script>
    </head>
    <body>
    <p id="pp">test---prototype</p>
    <p >test---jQuery</p>
    
    <script type="text/javascript">
    var $j = jQuery.noConflict();		//自定义一个比较短快捷方式
    $j(function(){						//使用jQuery
    	$j("p").click(function(){
    		alert( $j(this).text() );
    	});
    });
    
    $("pp").style.display = 'none';		//使用prototype
    </script>
    </body>
    </html>

    例三:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>冲突解决3</title>
    <!-- 引入 prototype  -->
    <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
    <!-- 引入 jQuery  -->
    <script src="jquery-1.3.1.js" type="text/javascript"></script>
    </head>
    <body>
    <p id="pp">test---prototype</p>
    <p >test---jQuery</p>
    
    <script type="text/javascript">
    jQuery.noConflict();				//将变量$的控制权让渡给prototype.js
    jQuery(function($){					//使用jQuery
    	$("p").click(function(){		//继续使用 $ 方法
    		alert( $(this).text() );
    	});
    });
    
    $("pp").style.display = 'none';		//使用prototype
    </script>
    
    </body>
    </html>

    例四:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>冲突解决4</title>
    <!-- 引入 prototype  -->
    <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
    <!-- 引入 jQuery  -->
    <script src="jquery-1.3.1.js" type="text/javascript"></script>
    </head>
    <body>
    <p id="pp">test---prototype</p>
    <p >test---jQuery</p>
    
    <script type="text/javascript">
    jQuery.noConflict();				//将变量$的控制权让渡给prototype.js
    (function($){						//定义匿名函数并设置形参为$
    	$(function(){					//匿名函数内部的$均为jQuery
    		$("p").click(function(){	//继续使用 $ 方法
    			alert($(this).text());
    		});
    	});
    })(jQuery);							//执行匿名函数且传递实参jQuery
    
    $("pp").style.display = 'none';		//使用prototype
    </script>
    
    </body>
    </html>

    例五:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>冲突解决5</title>
    <!--先导入jQuery -->
    <script src="jquery-1.3.1.js" type="text/javascript"></script>
    <!--后导入其他库 -->
    <script src="prototype-1.6.0.3.js" type="text/javascript"></script>
    </head>
    <body>
    <p id="pp">test---prototype</p>
    <p >test---jQuery</p>
    
    <script type="text/javascript">
    jQuery(function(){   //直接使用 jQuery ,没有必要调用"jQuery.noConflict()"函数。
    	jQuery("p").click(function(){      
    		alert( jQuery(this).text() );
    	});
    });
    
    $("pp").style.display = 'none'; //使用prototype
    </script>
    </body>
    </html>

    实例下载

    jquery解决命名空间冲突

    转载自:http://www.cnblogs.com/ForEvErNoME/archive/2012/03/15/2398659.html

  • jQuery套件《Mu Image Resize》图片自动缩放与裁切居中

    jQuery套件《Mu Image Resize》图片自动缩放与裁切居中

    ‍‍‍‍‍‍‍‍‍ ‍‍

    很早之前梅干曾想过,将图片缩到指定的大小后,再设定显示范围,再把抓取图片中间的区域位置,当时光写完图‍‍片自动缩图的机制后,就让梅干死了不少的脑细胞,再加上梅干的数理不好,除了数字算半天外,再来就是程式的逻辑架构一直鬼挡墙,好在身旁有位高手男丁的协助下,才让梅干的图片缩图顺利完成,但心中还是一直挂念着裁切的部分,而那一天却在网路上,无意间的发现到MRMU STUDIO的网志中,自制分享了一只缩图裁切的jQuery外挂,让使用者可以自行的设定的显示区块范围,程式就会自动缩放图片到指定范围中,由于该外挂需在script中作设定,所以梅干稍稍的加工一下,让它除了可透过script中来设定外,也可直接在img的标签中来作设定,让使用上更加的方便,因此有需要的朋友,不妨参考看看啰!

    下载完毕,引用jQuery与mu.image.resize.js后,使用方法有二种:

    方法一、在Script中设定:

    $('. resize ).muImageResize({ width: 150 , height:150 });
     //当这样设定时,所有resize下的图片都会缩成150&times;150

    [alert title=”说明:”]resize:图片的类别名称width:150:图片的宽度height:150:图片的高度
    [/alert]

    方法二、在img标签中设定:

    1.Script中插入$('.c_resize').muImageResize(); 
    2.<img src="图片档名" class=" c_resize " data-w="300" data-h="300" >
     //使用此方法,可自行设定每一张图片的大小</s pan>

    [alert title=”说明:”]c_resize:图片的类别名称data-w=”300″:图片的宽度data-h=”300″:图片的高度[/alert]

    ‍设定好后,图片就会依照指定的尺寸,缩到指定的范围中。

    ‍‍范例演示:http://photo.minwt.com/img/Content/jQuery/clip-resize/demo/minwt-demo.html‍‍

    附件下载:jquery-mu-image-resize-master

    ‍‍‍转载自:http://www.minwt.com/webdesign-dev/js/9432.html‍‍‍‍‍‍

     

    ‍‍‍‍‍‍

  • 【叠加模式】PHOTOSHOP图层混合模式的计算公式

    【叠加模式】PHOTOSHOP图层混合模式的计算公式

    注释:1.混合模式的数学计算公式,另外还介绍了不透明度。2.这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用。3.在公式中A 代表下面图层的颜色值;B 代表上面图层的颜色值;C 代表混合图层的颜色值;d 表示该层的透明度。

    1.Opacity 不透明度

    C=d×A+(1-d)×B

    相对于不透明度而言,其反义就是透明度。这两个术语之间的关系就类似于正负之间的关系:100%的不透明度就是0%的透明度。该混合模式相对来说比较简单,在该混合模式下,如果两个图层的叠放顺序不一样,其结果也是不一样的(当然50%透明除外)。该公式也应用于层蒙板,在这种情况下,d代表了蒙板图层中给定位置图层的亮度(d=颜色值/255),下同,不再叙述。

    2.Darken 变暗

    B<=A 则 C=B B>=A 则 C=A

    该模式通过比较上下层像素后取相对较暗的像素作为输出,注意,每个不同的颜色通道的像素都是独立的进行比较,色彩值相对较小的作为输出结果。下层表示叠放次序位于下面的那个图层,上层表示叠放次序位于上面的那个图层,下同,不再叙述。

    3.Lighten 变亮

    B<=A 则 C=A B>A 则 C=B

    该模式和前面的模式是相似,不同的是取色彩值较大的(也就是较亮的)作为输出结果。

    4.Multiply 正片叠底

    C=(A×B)/255

    该效果将两层像素的标准色彩值(基于0..1之间)相乘后输出其效果可以形容成:两个幻灯片叠加在一起然后放映,透射光需要分别通过这两个幻灯片,从而被削弱了两次。

    5.Screen 滤色

    C=255-(A反相×B反相)/255

    该模式和上一个模式刚好相反,上下层像素的标准色彩值反相后相乘后输出,输出结果比两者的像素值都将要亮(就好像两台投影机分别对其中一个图层进行投影后,然后投射到同一个屏幕上)。从右边公式中我们可以看出,如果两个图层反相后,采用Multiply模式混合,则将和对这两个图层采用 Screen模式混合后反相的结果完全一样。

    6.Color Burn 颜色加深

    C=A-(A反相×B反相)/B

    该模式和上一个模式刚好相反。如果上层越暗,则下层获取的光越少,如果上层为全黑色,则下层越黑,如果上层为全白色,则根本不会影响下层。结果最亮的地方不会高于下层的像素值。

    7.Color Dodge 颜色减淡

    C=A+(A×B)/B反相

    该模式下,上层的亮度决定了下层的暴露程度。如果上层越亮,下层获取的光越多,也就是越亮。如果上层是纯黑色,也就是没有亮度,则根本不会影响下层。如果上层是纯白色,则下层除了像素为255的地方暴露外,其他地方全部为白色(也就是255,不暴露)。结果最黑的地方不会低于下层的像素值。

    8.Linear Burn 线形加深

    C=A+B-255

    如果上下层的像素值之和小于255,输出结果将会是纯黑色。如果将上层反相,结果将是纯粹的数学减。

    9.Linear Dodge 线形减淡

    C=A+B

    将上下层的色彩值相加。结果将更亮。

    10.Overlay叠加

    A<=128 则 C=(A×B)/255 A>128 则 C=255-(A反相×B反相)/128

    依据下层色彩值的不同,该模式可能是Multiply (正片叠底),也可能是Screen (滤色)模式。上层决定了下层中间色调偏移的强度。如果上层为50%灰,则结果将完全为下层像素的值。如果上层比50%灰暗,则下层的中间色调的将向暗地方偏移,如果上层比50%灰亮,则下层的中间色调的将向亮地方偏移。对于上层比50%灰暗,下层中间色调以下的色带变窄(原来为0~2×0.4×0.5,现在为0~2×0.3×0.5),中间色调以上的色带变宽(原来为2×0.4×0.5~1,现在为2×0.3×0.5~1)。反之亦然。

    11.Hard Light 强光

    B<=128 则 C=(A×B)/128 B>128 则 C=255-(A反相×B反相)/128

    该模式完全相对应于Overlay (叠加)模式下,两个图层进行次序交换的情况。如过上层的颜色高于50%灰,则下层越亮,反之越暗< /p>

    12.Soft Light柔光

    B<=128 则 C=(A×B)/128+(A/255)^2×(255-2B) B>128 则 C=(A×B反相)/128+sqrt(A/255)×(2B-255)

    该模式类似上层以Gamma值范围为2.0到0.5的方式来调制下层的色彩值。结果将是一个非常柔和的组合。

    13.Vivid Light 亮光

    B<=128 则 C=A-A反相×(255-2B)/(2B) B>128 则 C=A+A×(2B-255)/(2×B反相)

    该模式非常强烈的增加了对比度,特别是在高亮和阴暗处。可以认为是阴暗处应用Color Burn和高亮处应用Color Dodge。

    14.Linear Light 线形光

    C=A+2×B-255

    其类似于Linear Burn,只不过是加深了上层的影响力。

    15.Pin Light 点光

    B<=128 则 C=Min (A,2B) B>128 则 C=Min(A,2B-255)

    该模式结果就是导致中间调几乎是不变的下层,但是两边是Darken(变暗)和Lighten(变亮)模式的组合。

    16.Hard Mix 实色混合

    A+B>=255 则 C=255A+B

    该模式导致了最终结果仅包含6种基本颜色,每个通道要么就是0,要么就是255。

    17.Difference 差值

    C=|A-B|

    上下层色调的绝对值。该模式主要用于比较两个不同版本的图片。如果两者完全一样,则结果为全黑。

    18.Exclusion 排除

    C=A+B-(A×B)/128

    亮的图片区域将导致另一层的反相,很暗的区域则将导致另一层完全没有改变。

    19.Hue 色相

    HcScYc =HBSAYA

    输出图像的色调为上层,饱和度和亮度保持为下层。对于灰色上层,结果为去色的下层。

    20.Saturation 饱和度

    HcScYc =HASBYA

    输出图像的饱和度为上层,色调和亮度保持为下层。

    21.Color 颜色

    HcScYc =HBSBYA

    输出图像的亮度为下层,色调和饱和度保持为上层。

    22.Luminosity 亮度

    HcScYc =HASAYB

    输出图像的亮度为上层,色调和饱和度保持为下层。

    23.Dissolve 溶解

    该模式根本不是真正的溶解,因此并不是适合Dissolve(溶解)这个称谓,其表现仅仅和Normal(正常)类似。其从上层中随机抽取一些像素作为透明,使其可以看到下层,随着上层透明度越低,可看到的下层区域越多。如果上层完全不透明,则效果和Normal(正常)不会有任何不同。

    【补充】:24.深色rB+gB+bB<=rA+gA+bA 则 C=BrB+gB+bB>=rA+gA+bA 则 C=A比较混合色和基色的所有通道值的总和并显示值较小的颜色。不会生成第三种颜色。25.浅色rB+gB+bB<=rA+gA+bA 则 C=ArB+gB+bB>=rA+gA+bA 则 C=B比较混合色和基色的所有通道值的总和并显示值较大的颜色。不会生成第三种颜色。26.减去C=A-B查看各通道的颜色信息,并从基色中减去混合色。如果出现负数就剪切为零。与基色相同的颜色混合得到黑色;白色与基色混合得到黑色;黑色与基色混合得到基色。27.划分C=(A/B)&times;255查看每个通道的颜色信息,并用基色分割混合色。基色数值大于或等于混合色数值,混合出的颜色为白色。基色数值小于混合色,结果色比基色更暗。因此结果色对比非常强。白色与基色混合得到基色,黑色与基色混合得到白色。

    ‍‍‍‍转载: http://www.cgspread.com/3551.html‍‍‍‍

  • 点线面详解

    点线面详解

    转载自:http://www.zcool.com.cn/article/ZMTgwNDc2.html

  • moojt 摄影笔记(一)——控制相机的拍摄范围

    moojt 摄影笔记(一)——控制相机的拍摄范围

    首先要特别注意,任何时候都不能将拍摄范围的大小、感光面积的大小、冲印照片的大小这三个概念相混淆。

    下图列出了1寸到30寸照片的尺寸及对比示意图。

     

    照片都是由底片洗出来的,照片的尺寸相同,并不意味着底片的尺寸也相同。所有底片都可以冲洗任何尺寸的照片,只是清晰度不同罢了。进入数码时代以后,胶片时代的底片变成了CCD、CMOS等感光器件。

    通常所说的135相机是目前市场上销售量最大的相机。在胶片时代,135相机的胶片画幅是宽36mm×高24mm,算上高度和上下的方型齿孔总高度是35mm,因而被称作“35mm胶片”。“35mm相机”指的是使用35mm胶片的相机。“135”则是这种规格胶卷的商品编号,柯达于1935年正式推出135柯达彩色胶卷。135的那个1是指有别于可重复使用暗盒的一次性暗盒,135胶卷的完整定义则为“采用一次性暗盒的35mm胶片”。采用这种胶卷的相机又被称为“135相机”。

    感光器件的尺寸规格又叫做画幅。下图中包含了8种画幅(放大4倍,不包括大、中画幅)。全画幅就是135胶片的规格。全画幅与较小画幅边长(或对角线长)之比叫做画幅转换系数。      

    拍摄范围的大小就是看有多少景物能被拍进照片。控制相机拍摄范围的方法有3种,先来看第一种(见下图)。不用调整相机的参数,只需向前走几步或者向后退几步。通常摄距和物距是一个概念。显然,如果摄距加倍,那么被摄区域的宽度也加倍(注意:被摄区域的高度也同时加倍,因而被摄区域的面积是原来的4倍 ——→联想“田”字)。此时视角不变。    

     

    下面是简单的推导。

     

    再来看第二种方法(见下图)。换用一套感光器件规格不同的摄影系统。为简单起见,令像距 = 焦距(在拍无限远的物体时),且保持不变。显然,如果感光器件的宽度加倍,那么被摄区域的宽度也加倍(注意:被摄区域的高度也同时加倍,因而被摄区域的面积是原来的4倍 ——→联想“田”字)。此时视角变大。

     

    下面是简单的推导。

    第三种方法(见下图)。改变镜头焦距。 如果镜头的焦距缩短一半,那么被摄区域的宽度加倍(注意:被摄区域的高度也同时加倍,因而被摄区域的面积是原来的4倍 ——→联想“田”字)。此时视角变大。

     

    下面是简单的推导。

    上面提到过的视角是有效视角,最大不能超过镜头的视角。每支镜头的焦距和视角都是为特定规格的感光器件设计的,如果把一些APS-C画幅的镜头拧到全幅机身上就有可能拍出四角失光的照片。下面来看看镜头焦距与其视角之间的关系。下图列出了135镜头的焦距与视角之间的对应关系。

    根据上图的数据绘出下面的曲线图。可以清楚地看出,镜头的焦距与其视角之间并不是线性关系。随着焦距的增加,视角减小的速度会减慢。

  • 关于可选颜色的计算公式

    关于可选颜色的计算公式

    一直没弄清楚可选颜色的计算公式,以前给各位豆友回复时都用——“曲线递增”来糊弄,这也间接给自己一动力,——咱一直以专业自居,这曲线递增四个字怎么也跟“专业”挂不上钩啊。然后脸红着四处找资料,皇天啊厚土啊,终于让我找到了这个公式。。。公式的提供者为Cbyer,帖子来源“设计中国”,原贴已经找不到了,我看到的是转贴,不过原作者有个数值弄错了,总值并不是255,0到255,0也算一个值,总值应该是256。后面细说。而且作者并没有详细说明可选颜色下增减量百分比的事情,算我站在巨人的肩上完善了一些小问题。无论如何,感谢Cbyer同学,没有他就没有今天这篇帖子。

    对可选颜色基础性的知识请参阅在下回复的某帖:http://www.douban.com/group/topic/17390321/

    鉴于Cbyer的帖子中有很多概念性的词,例如MAX/MID/MIN(maya中常用概念)LIM/INC/DEC,我将它们用更方便理解的汉字词语。以RGB值89、186、116,可选颜色模式为“绝对”举例,如下:

    再次强调,下文中的“增减量百分比”是描述可选颜色的操作,而“颜色增减量”则描述颜色RGB数值的变化,请千万别弄混。只要带百分比三个字的,就是可选颜色的油墨量哦。

    首先我们知道,可选颜色是按照油墨量来进行加减的,而增加或者减少油墨量是用百分比表示,那么增与减100%,等于可控范围为200%,但是,大家也知道,增减百分比时,颜色RGB数值不是一直在变化的,当增减百分比的量过了某个零界值后,颜色RGB数值就不再变化了。那么首先要解决:一、这个增、减百分比的零界值范围是多少?二、颜色RGB数值增、减量的范围是多少?

    答:一、“绝对”模式下,增减百分比零界范围为100%。(相对模式为200%,后面阐述)

    二、1、可选颜色下“颜色”选择“红色”、“绿色”、“蓝色”,颜色RGB数值范围为三通道最大值减去中间值(也就是max-mid),我们举例的颜色就是186-116=70,可变化数值总值为70。2、可选颜色下“颜色”选择“黄色”、“青色”、“洋红”,颜色RGB数值范围为三通道中间值减去最小值(也就是mid-min),我们举例的颜色就是116-89=27,可变化数值总值为27。

    OK,验证一下:

     

    可选颜色下“颜色”选择“绿色”,其下“洋红”增量百分比到72%则到达零界点,颜色G的零界值为135,减量百分比到27%到达零界点,颜色G的零界值为205。72%+27%=99%,差不多为100%(别问我为什么不是100%,小数点后的数值PS是无法直观表述的)。而数值(205-186)+(186-135)=205-135=70。OK,跟我们上面说的一致。

     

    可选颜色下“颜色”选择“青色”,其下“黄色”增量百分比到43%为零界,颜色B零界值为104,减量百分比到54%为零界,B零界值为131。43%+54%=97%。数值(131-116)+(116-104)=131-104=27。还是一致。

    三、好了,我们弄清楚了范围,接下来我们来解决可选颜色增减百分比之间的比值的问题,也就是说解决增与减的百分比是怎么分配的,为什么是72%与27%,或者43%与54%,而不是50%与50%。只有弄清楚这个,才能最终回答“调节可选颜色某项增加20%,颜色数值变化为多少”。

    答:增减比就是颜色原始数值与总量256的比值。比如说G值186,那么186/256=72.6%,而我们上面描述的 可选颜色下“颜色”选择“绿色”,其下“洋红”增量百分比到72%则到达零界点,就是这个意思。

    那么我们可以换个说法,可选颜色增量的百分比为针对颜色的原始数值比总值256,公式为:增加量(百分比)=G/256。(RB同理)。可选颜色减量的百分比为1减去针对颜色的原始数据与256的比值,公式为:减少量(百分比)=1-G/256。(RB同理)

    四、那么颜色RGB数值的影响值又如何分配呢?为什么是205与135,为什么不能是255与185。

    公式:数值最大值为“原始数值+数值影响范围X可选颜色减量百分比”,186+70 X 27.3%=205.11,最大值为205。至于这个27.3%怎么来的,参考三。

    那么数值最小值就相对应的,公式:为“原始数值—数值影响范围X可选颜色增量百分比”,186-70X72.6%=135.18,最小值为135.

    这是可选颜色下“颜色”选择“绿色”,如果是选择“青色”呢,我们要知道RGB数值范围“青色”可就不是70了,而是27。那么增量百分比为116/256=45.3%,B最小数值为116 – 27X45.3%= 103.76,约等于104,最大值为 116+27X54.7%= 130.77,约等于131。

    五、那么最后一个问题了,如果说可选颜色下“颜色”选择“绿色”,其下“洋红”增量百分之五十,那么G值变化应该是多少?

    OK,算吧,186-70X50%=151,验证一下是不是:

    哈哈,是不是完全一致呢?151哦亲。

    这是“绝对”模式,那么“相对”模式呢?——算法一致。不可能吧,算法一致还区别个毛线啊,相对不就等于绝对了?咳咳,我话还没说完,算法虽然一致,但是相对还不太一样。

    六、“相对”模式下的区别。1、首先可选颜色增减百分比不再是100%的范围,而是200%,就是说可选颜色下调节增减百分比不存在零界点了。但是,虽然没有零界点,但影响的颜色数值,却还是绝对模式下的算法。比如我们上面说过的:绝对模式下“选择“青色”,其下“黄色”增量百分比到43%为零界(按照计算应该45.3%),颜色B零界值为104”,相对下黄色增量100%,颜色B零界值还是104,相当于把绝对的45.3%拉伸成了100%,可控更精细化。“绝对”下45.3%控制116-104,共12(计算数值为12.231)个值,相当于每个百分点控制0.27,而在“相对”下,100%控制12.231,相当于每个百分点控制0.12231,当然更精细化了。

    那么不用我解释如果“相对”下,黄色增量50%,B数值是多少了吧?109.8855,验证如下:

    我们原谅PS没法精确表示小数点后的数值吧,它表示为109了。

    2、“相对”模式下,如果颜色RGB数值大于128,那么将存在个修正值,则修正颜色数值减少量,强制将其等同与颜色数值增加量。

    我们还用这个颜色举例,G原始值为186,超出了128。在可选颜色“相对”模式,“颜色”选择“绿色”,其下“洋红”减量百分比到100%,G值增加到205,与“绝对”模式的最大值205一致,那么算法铁定也一致了。那么增加洋红到100%呢,这个颜色G的最小值还是135吗?

    验证如下:

    可以看到,数值不再是135了,而是167。根据咱们上面说的,数值减少量强制修正为与增加量一致。那么G增量是多少?205-186=19。那么186-19等于多少呢——167。

    皆大欢喜,皆大欢喜。

    我可算把这个坑填满了~~~~~~~呜呼哀哉。

    转载自:http://www.douban.com/note/324952744/

  • 关于色调鲜艳明快风格的调色思路

    关于色调鲜艳明快风格的调色思路

    这是日光提供的——想达成的效果片,以下简称A

    因为后面会涉及到lab模式,为了和a、b通道区分,简称大写A。

    首先要纠正一下“日光倾城”关于A的描述——“虽然颜色很鲜艳,但是一点也不觉得有很高的对比度,看上去照片很清晰透彻,而不是有被蒙在一层什么东西里面或者色彩对比度很强的效果”“高明度色彩”以上。

    我们用肉眼来看一下A,色彩很鲜艳没错,但对比度不高吗?我们来看一下a的直方图

    a的直方图

    1、整个直方图的“中性灰”信息很少,无论在0-255哪个位置,各通道信息都比“中性灰色”信息高出很多,这就是典型的调色结果,其实这个调色损失了太多信息。2、黑白场位置没有太明显的下降,信息很丰富,如果对比不强,这两个位置应该非常少,或者干脆没有。3、“高明度色彩”应该是失误,高明就是偏白,你的原图才是高明度色彩。所以,a的描述应该是:高对比、高饱和。有了这么个结论,我们接下来的步骤就轻松多了。

    这是日光的原片,以下简称B

    这是日光给我的原图,B,缩小后人物比较模糊,为了能让大家看清楚一些,我加了个锐化。另外,这片子白平衡非常正常,曝光也很好(除了裙子爆了)。日光同学如果这就是你的原片的话,我只能说你相机性能真好,我个人猜测机器不是尼康(我就用过尼康和佳能),你都不需要做后期其实,纯天然小清新啊。

    可是,你居然不喜欢这种高亮灰的图,那么好吧,我们用这张非常优秀的原片来做做高对比、高饱和。当然了,做颜色饱和可不仅仅是加个“色相/饱和度”啊,后面细谈。

    b的原始直方图

    我们来跟A的直方图做个对比,首先B“中性灰”在80~240的位置偏高,导致整体色调呈现灰色,那么我们的任务就是先把这些“中性灰”降下来。

    第一步、使用“色阶”或“亮度/对比度”来“降灰”。

    色阶

    亮度/对比度

    之所以要贴这两图,是想告诉日光,切忌大数值处理,这两种方法都会破坏片子本身的颜色信息,我们接下来的工作都是跟色彩打交道的,例如提高饱和,如果本身信息破坏严重,就会导致无米之炊,信息没了,怎么提高?所以,这里要强调色阶等整体处理片子灰度、明暗等工具的使用技巧,当你一开始就使用它们,为了后面步骤处理色彩,下手轻一点,如果它们是你调色的最后几步,你可以下重手了!当然了,使用调整层是最好的办法,可逆。

    这里我想插句话,调色时,请大家尽量养成”先思考,再调节“的习惯,别想当然的去“尝试”,我以前经常见一些所谓的教程,前期使用各种命令去破坏色彩,然后再用其他命令去还原,然后反反复复、反反复复——有些信息丢了是找不回来的啊!

    这是“降灰”后的直方图,两种方法结果都相同,仅仅贴一张。

    可以看到,“中性灰”降下去了,OK,骚年,接下来我们来让颜色艳丽起来吧。

    第二步: 自然饱和度

    说明一下,这里用的“自然饱和度”是为了提升色彩饱和的吗?不是,是为第三步服务的。因为“自然饱和度”或者“色相/饱和度”,都是针对画面所有的颜色,而我们的目的,仅仅是增强画面中固有色为彩色的颜色饱和。

    那要这个“自然饱和度”干嘛?——提升画面饱和,那些固有色为彩色的颜色也跟着一起提升了,第三步再单独提的时候,原始基数大一点,可控范围更广。

    那么为什么不用“色相/饱和度”而是用“自然饱和度”呢,这个问题提的好,谁问的?

    当PS有了自然饱和度后,我就舍弃“色相/饱和度”这个命令了。“自然”跟“不自然”这两种饱和,都是基于画面RGB数值去增加饱和,换个说法,但是“不自然”的饱和增强方式是线性的,也就是不鲜艳的和鲜艳的一起去增加,很容易导致已经属于高饱和的色彩过曝(我以前经常需要去还原这些过曝的色彩),但是“自然”的增强方式就不同了,它是曲线递增/递减的方式,就是说不够鲜艳的它增加多一点,已经鲜艳的,它加少点或者干脆就不加了,这就是“自然”的真正奥义。(就像我昨天晚上的两盘菜,一个红烧肉味道正好、一个耗油生菜没放盐,桌子上放着100克盐,我媳妇是色相/饱和度,我是自然饱和度,你让我媳妇放盐,它两道菜都各加50克,我去放盐,就只给耗油生菜放。就这么个道理。)

    左边“自然饱和度”、右边“色相/饱和度”

    这是两个命令增加50后的直方图,看自然饱和度,信息损失少,而色相/饱和度的信息则不同。

    左边“自然饱和度”、右边”色相/饱和度”

    哪个“自然”,高下立判。

    第三步 转LAB 做“应用图像”

    盖印下所有层,转LAB色彩模式,图像——“应用图像”,做两遍,一遍做a,一遍做b。

    应用图像a

     

    应用图像b

    关于“应用图像”的原理,可以参考我有篇日志《理解日式小清新的调色思路》,调整结果不满意,可以在“编辑”——“渐隐应用图像”。这里需要说一个小技巧,“应用图像”没有调整层,那么它就不可逆,即便你“渐隐”,之后若干步骤后,你再想调节,渐隐不能。所以在每用一次这个命令的时候,建议复制下你要调整的图层,然后未来你可以调节该图层的透明度,随时起到调节作用。

    这里的应用图像b,是复制了应用图像a后再做的b,别复制成背景层

    总之,有了应用图像的操作,我们画面颜色就非常丰富,非常鲜艳了。但是会发生一个问题,如下:

    看看我们的皮肤,真垃圾啊。解决方法很简单,你有了两个做过“应用图像”的图层,做这两个层的蒙版,把皮肤部分去掉。但这一次,我没有这么做,因为参考图片A,人物面部也是比较艳,当然没现在这么夸张,所以我决定在RGB下,以这个基调做皮肤的矫正色彩。

    第四步 色彩矫正

    继续拿A、B的皮肤作比较,可以明显的察觉B的皮肤泛黄,“怎么黄了,防风图的蜡”。

    我们使用“可选颜色”,用蒙版把皮肤擦出来,让可选颜色只针对皮肤。颜色选择“黄色”,在其下的“黄色”控制项减去100,这时候皮肤又过红了,“怎么又红了,容光焕发”,在颜色“红色”下的“青色”控制项,加青30。然后,“怎么又黄了,又图了一层蜡”,好吧,这时候一个“可选颜色”就不够用了(都减100了,实在没得减了),再来一个“可选颜色”调整层(记得蒙版皮肤,可以复制下层的),“黄”下“黄”减40。(以上两个可选颜色统统滴“绝对”)皮肤颜色就基本OK了,但是和A比呢,还有个问题,如下:

    B的皮肤显得很平啊,而且没有高光啊。那么,我们来造“层次感”。使用“亮度/对比度”,使用剪切蒙版,让“亮度/对比度”仅仅只针对下层的“可选颜色”,如下

    剪切蒙版

    关于剪切蒙版可以参考我有篇日志《以“蒙版”为例,怀念下以前培训师的日子》。

    然后“亮度/对比度”去勾“使用旧版”,这个新旧两个版本的效果,有点类似“自然饱和度”和“色相/饱和度”,原理不想累赘了,以前有友邻问过,解释了一大通,实在不想重复解释,大家GOOGLE吧。亮度40,对比度40,然后蒙版之,把皮肤暗部取消效果。对比如下:

    右边为”亮度/对比度“

    好了,皮肤完了,继续观察,如下:

    左B,右A

    我们B的树木有很大一部分偏黄色啊,又图蜡啊,人家A翠了吧唧的,好了,我们继续可选颜色,蒙版去掉人物皮肤。(因为我们处理的是可选颜色下的黄色部分,皮肤可是含黄哦亲),如下:

    关于可选颜色的使用可以参考http://www.douban.com/group/topic/17390321/,《PS可选颜色和色相饱和度的调节有什么技巧》,我在里面回复的部分。

    但是这个”相对“和“绝对”,有必要谈谈,上面帖子里好像没有说到。为什么我处理皮肤用的是绝对,而处理树却用了相对?

    我们设,X为原始量,Y为增加量——相对的计算公式是X+(X乘以Y%),绝对则是X+Y比如说画面某个像素,黄色量(这个量在可选颜色中是用油墨量来表示)为30,在相对下加黄40,这个像素结果为30+(30*40%)=42,而在绝对下就成了30+40=70。

    其实这也能理解成“线性”和“曲线递增”,但是,它衍生出的结果却不太相同。因为你使用可选颜色,可不是针对某一个像素去处理的。

    比如说我们用“可选颜色”处理B的树,在颜色黄下选择增加青,没错,树的部分的确含有“黄”,它铁定会加青,但是,周围的墙上也含黄啊,虽然量少,但也含有啊,包括地板都会有黄的。咱如果用绝对,好嘛,树周围含黄多,假设某像素含黄50,加青28,结果为78;这墙上含黄少,假设某像素含黄1,也被加青了28,结果就成了29。这原始值1和结果值29,相差的可不是一点半点啊,用肉眼看,我们墙也青了~~~

    但我们用相对呢,这50加青28结果成了50+(50*28%)=64,这1加青28结果成了1+(1*28%)=1.28。所以,“相对”的用法,就类似于色彩范围中的“阈值”选择了,我们用相对,可以让含量多的颜色受影响大,含量少的受影响很小。

    以下是使用上图中数值,“相对”和“绝对”的对比图:

    左“相对”,右“绝对”

    那么,我之前处理皮肤用绝对,日光,你能理解了吧?

    这是树处理前,处理后,和A的对比:

    左为之前,中为处理后,右为A

    其实处理到这里,我们基本就可以收工了。但是出于我个人(强烈的)的好恶原因,我又加了一“可选颜色”,蒙版去掉衣服(别想邪恶了),把这些什么栏杆什么椅子乱七八糟的青色,统统偏绿。。。我个人实在受不了环境中这么多青——看过我之前日志的朋友应该能懂我,呜呜!

    最后,来几个的对比图:

    B前后对比

     

    B(处理后)与A整体色调对比

    色调基本统一。

    B(处理后)与A直方图对比

    呀呀,怎么感觉完全不一样呢,A那片绿,B处理后就没有啊,这是为什么呢?——原因,我个人能力有限——骗你们的,怎么可能,一个默默无闻奋斗在跟色彩有关的教学岗位九年如一日的胖子,怎么可能回答不上来呢!

    那么,这一大片绿,哪里来的呢?我把A图中某块区域粘贴到B上来。如下:

    莫名奇妙的栏杆~~

    然后我们再来对比一下直方图

    左(B+不明物),右A

    明白了吗?环境啊~~环境啊~~

    写在后面:1、别迷信那些一上来调色步骤就三、四十层的教程,除非是蒙版多,针对了不同的区域,比如说我这个就用了四个可选颜色,针对了皮肤、环境(主要针对树)和非衣服。如果说我整体去调节,也用这么多可选颜色,那么说明,我在一开始就没有一个清晰的思路,是试一步做一步。所以,调色前,养成习惯,多想想,想清晰了再下手。

    2、调色,针对复合通道的命令,比如说亮度/对比度,色相/饱和度之类,你也没有选择单一通道调节、也没有用蒙版针对不同区域的话,这些命令别重复使用,数值也不要过大,会丢失原始信息,而这些信息,丢了就没了!——就像B的白裙子,我是不可能找回那些曝白区域的层次的,这是拍摄问题,同样,你用命令让它曝了,也没办法找回来,除非你找到调整层修改数值(没有调整层你就翻历史记录去吧)。

    3、我这些数值,都是我个人感觉,对你而言仅仅是个参考。切勿照搬。

    最后一句:我其实喜欢B最后再暗一点。。结果你不喜欢。。。。残念!

    转载自:http://www.douban.com/note/275089225/