怎样编写一个Photoshop滤镜(2)

装修宝典010

怎样编写一个Photoshop滤镜(2),第1张

怎样编写一个Photoshop滤镜(2)
导读: 在上一篇文章中,我们讲解了怎样创建一个Photoshop滤镜的项目,以及如何为滤镜嵌入PIPL资源使滤镜可以被PS识别和加载。并且我们已经建立了一个最简单最基本的滤镜框架。在这篇文章中,我们将细化滤镜和PS之间的调用流程,我们将为滤镜引入

在上一篇文章中,我们讲解了怎样创建一个Photoshop滤镜的项目,以及如何为滤镜嵌入PIPL资源使滤镜可以被PS识别和加载。并且我们已经建立了一个最简单最基本的滤镜框架。在这篇文章中,我们将细化滤镜和PS之间的调用流程,我们将为滤镜引入一个对话框资源,使用户可以对滤镜进行自定义参数的配置。并且我们将看到当用户从不同菜单位置发起滤镜调用时的流程区别,然后我们还将为我们的滤镜参数引入PS脚本描述系统的读写支持,将我们的参数存入PS的脚本系统中,并在以后的调用中读取出这些参数。

(1)设计我们的滤镜参数。

我们的滤镜完成的是一个最基本的任务,仅仅是“填充”,因此我们可以对填充的颜色进行配置,此外,我们还可以设置填充颜色的不透明度。因此我们引入下面的参数,把它定义为一个struct,包括一个RGB填充色,和一个不透明度(0~100):

//======================================

// 定义我们的参数

//======================================

typedef struct _MYPARAMS

{

COLORREF fillColor; //填充颜色

int opacity; //百分比(0~100)

} MYPARAMS;

(2) 现在我们添加一个对话框资源。编辑对话框模块如下所示。然后我们对主要控件设置控件ID。

注意编辑资源文件后,由于VC将会重写rc文件,因此在编译项目前,我们还需要手工打开rc文件,自己重新添加#include "FillRedpipl"。

否则编译好的滤镜将无法被PS正确识别和加载到滤镜菜单。

(3)下面我们为该对话框添加窗口过程。为此我们为项目添加 ParamDlgh 和 ParamDlgcpp文件。

注意由于窗口过程位于我们的DLL中,因此我们必须把窗口过程声明为DLL导出函数,以便让系统知道该函数的地址。

关于窗口过程的编写则完全属于 windows 编程领域的内容(这方面的知识可以参考相关书籍),这里我们不详细介绍怎样写窗口过程。但值得一提的是,我在这里引入了一个PS中的UI特性,即PS中例如它的字体设置对话框,当鼠标悬停在控件前面的Lable(Static标签)上方时,光标形状可以改变为特殊光标,按下并左右拖动鼠标,则相关控件的值就会根据鼠标移动方向自动增加或减小,类似slider控件的效果。因此我在窗口过程中为它加入了这个特性,这会使得窗口过程的代码看起来稍显复杂一些,不过这个功能(可能是PS发明的?)很有趣也很新颖。为此我还引入了一个自定义的光标文件。具体代码不贴出了,请参考项目源代码中的 ParamDlgcpp文件中的代码。

(4)在之一篇文章的基础上,我们需要改写FillRedcpp中的一些代码。

因为现在我们引入了不透明度参数,不透明度的算法是:(opacity = 0~ 100)

结果值 = 输入值 (1- opacity001) + 填充颜色 opacity001;

(a)对DoStart 和 DoContinue:我们需要知道原图中原来的颜色,因此我们的 inRect 和 inHiPlane 将不在为空矩形。这体现在 DoStart 和 DoContinue 函数中,我们对inRect 和 inHiPlane 修改为和 outRect , outHiPlane 一致,这样PS就会把原图数据通过 inData 发送给我们。

(b)当用户点击滤镜菜单时,将从 parameter 调用开始,这样我们就在这里设置一个标记,表示需要显示对话框。

(c)当用户点击“最近滤镜”菜单时,将从 prepare 调用开始,这样表示我们不需要显示对话框,而是直接取此前的缓存参数。为此我们引入 ReadParams 和 WriteParams 函数。即使用PS提供的回调函数集使我们的参数和PS Scripting System进行交换数据。

下面我们主要看一下DoContinue函数发生的变化。主要是对算法进行了改动,对 inRect , inHiPlane 这两个数据进行了变动,以请求PS发送数据。在DoStart()函数中设置了之一个贴片,对inRect 和 inHiPlane 的改动是同样的。同时,在DoStart函数中, 根据事先设置过的标志,来决定是否显示对话框。

//DLLMain

BOOL APIENTRY DllMain( HMODULE hModule,

DWORD ul_reason_for_call,

LPVOID lpReserved

)

{

dllInstance = static_cast<HINSTANCE>(hModule);

if (ul_reason_for_call == DLL_PROCESS_ATTACH || ul_reason_for_call == DLL_THREAD_ATTACH)

{

//在DLL被加载时,初始化我们的参数!

gParamsfillColor = RGB(0, 0, 255);

gParamsopacity = 100;

}

return TRUE;

}

#ifdef _MANAGED

#pragma managed(pop)

#endif

//===================================================================================================

//------------------------------------ 滤镜被ps调用的函数 -------------------------------------------

//===================================================================================================

DLLExport void PluginMain(const int16 selector, void filterRecord, int32 data, int16 result)

{

gData = data;

gResult = result;

gFilterRecord = (FilterRecordPtr)filterRecord;

if (selector == filterSelectorAbout)

sSPBasic = ((AboutRecord)gFilterRecord)->sSPBasic;

else

sSPBasic = gFilterRecord->sSPBasic;

switch (selector)

{

case filterSelectorAbout:

DoAbout();

break;

case filterSelectorParameters:

DoParameters();

break;

case filterSelectorPrepare:

DoPrepare();

break;

case filterSelectorStart:

DoStart();

break;

case filterSelectorContinue:

DoContinue();

break;

case filterSelectorFinish:

DoFinish();

break;

default:

gResult = filterBadParameters;

break;

}

}

//显示关于对话框

void DoAbout()

{

AboutRecord aboutPtr = (AboutRecord)gFilterRecord;

PlatformData platform = (PlatformData)(aboutPtr->platformData);

HWND hwnd = (HWND)platform->hwnd;

MessageBox(hwnd, "FillRed Filter: 填充颜色 -- by hoodlum1980", "关于 FillRed", MB_OK);

}

//这里准备参数,就这个滤镜例子来说,我们暂时不需要做任何事

void DoParameters()

{

//parameter调用说明,用户点击的是原始菜单,要求显示对话框

m_ShowUI = TRUE;

//设置参数地址

if(gFilterRecord->parameters == NULL)

gFilterRecord->parameters = (Handle)(&gParams);

}

//在此时告诉PS(宿主)滤镜需要的内存大小

void DoPrepare()

{

if(gFilterRecord != NULL)

{

gFilterRecord->bufferSpace = 0;

gFilterRecord->maxSpace = 0;

//设置参数地址

if(gFilterRecord->parameters == NULL)

gFilterRecord->parameters = (Handle)(&gParams);

}

}

//inRect : 滤镜请求PS发送的矩形区域。

//outRect : 滤镜通知PS接收的矩形区域。

//filterRect : PS通知滤镜需要处理的矩形区域。

//由于我们是使用固定的红色进行填充,实际上我们不需要请求PS发送数据

//所以这里可以把inRect设置为NULL,则PS不向滤镜传递数据。

void DoStart()

{

BOOL showDialog;

if(gFilterRecord == NULL)

return;

//从Scripting System 中读取参数值到gParams中。

OSErr err = ReadParams(&showDialog);

//是否需要显示对话框

if(!err && showDialog)

{

PlatformData platform = (PlatformData)(gFilterRecord->platformData);

HWND hWndParent = (HWND)platform->hwnd;

//显示对话框

int nResult = DialogBoxParam(dllInstance, MAKEINTRESOURCE(IDD_PARAMDLG),hWndParent,(DLGPROC)ParamDlgProc, 0);

if(nResult == IDCANCEL)

{

//选择了取消

ZeroPsRect(&gFilterRecord->inRect);

ZeroPsRect(&gFilterRecord->outRect);

ZeroPsRect(&gFilterRecord->maskRect);

WriteParams();

//注意: (1)如果通知 PS 用户选择了取消,将使PS不会发起 Finish调用!

// (2)只要 start 调用成功,则PS保证一定发起 Finish 调用。

gResult = userCanceledErr;

return;

}

}

//我们初始化之一个Tile,然后开始进行调用

m_Tileleft = gFilterRecord->filterRectleft;

m_Tiletop = gFilterRecord->filterRecttop;

m_Tileright = min(m_Tileleft + TILESIZE, gFilterRecord->filterRectright);

m_Tilebottom = min(m_Tiletop + TILESIZE, gFilterRecord->filterRectbottom);

//设置inRect, outRect

//ZeroPsRect(&gFilterRecord->inRect); //我们不需要PS告诉我们原图上是什么颜色,因为我们只是填充

CopyPsRect(&m_Tile, &gFilterRecord->inRect);//现在我们需要请求和outRect一样的区域

CopyPsRect(&m_Tile, &gFilterRecord->outRect);

//请求全部通道(则数据为interleave分布)

gFilterRecord->inLoPlane = 0;

gFilterRecord->inHiPlane = (gFilterRecord->planes -1);;

gFilterRecord->outLoPlane = 0;

gFilterRecord->outHiPlane = (gFilterRecord->planes -1);

}

//这里对当前贴片进行处理,注意如果用户按了Esc,下一次调用将是Finish

void DoContinue()

{

int index; //像素索引

if(gFilterRecord == NULL)

return;

//定位像素

int planes = gFilterRecord->outHiPlane - gFilterRecord->outLoPlane + 1; //通道数量

//填充颜色

uint8 r = GetRValue(gParamsfillColor);

uint8 g = GetGValue(gParamsfillColor);

uint8 b = GetBValue(gParamsfillColor);

int opacity = gParamsopacity;

uint8 pDataIn = (uint8)gFilterRecord->inData;

uint8 pDataOut = (uint8)gFilterRecord->outData;

//扫描行宽度(字节)

int stride = gFilterRecord->outRowBytes;

//我们把输出矩形拷贝到 m_Tile

CopyPsRect(&gFilterRecord->outRect, &m_Tile);

for(int j = 0; j< (m_Tilebottom - m_Tiletop); j++)

{

for(int i = 0; i< (m_Tileright - m_Tileleft); i++)

{

index = iplanes + jstride;

//为了简单明了,我们默认把图像当作RGB格式(实际上不应这样做)

pDataOut[ index ] =

(uint8)((pDataIn[ index ](100-opacity) + ropacity)/100); //Red

pDataOut[ index+1 ] =

(uint8)((pDataIn[ index+1 ](100-opacity) + gopacity)/100); //Green

pDataOut[ index+2 ] =

(uint8)((pDataIn[ index+2 ](100-opacity) + bopacity)/100); //Blue

}

}

//判断是否已经处理完毕

if(m_Tileright >= gFilterRecord->filterRectright && m_Tilebottom >= gFilterRecord->filterRectbottom)

{

//处理结束

ZeroPsRect(&gFilterRecord->inRect);

ZeroPsRect(&gFilterRecord->outRect);

ZeroPsRect(&gFilterRecord->maskRect);

return;

}

//设置下一个tile

if(m_Tileright < gFilterRecord->filterRectright)

{

//向右移动一格

m_Tileleft = m_Tileright;

m_Tileright = min(m_Tileright + TILESIZE, gFilterRecord->filterRectright);

}

else

{

//向下换行并回到行首处

m_Tileleft = gFilterRecord->filterRectleft;

m_Tileright = min(m_Tileleft + TILESIZE, gFilterRecord->filterRectright);

m_Tiletop = m_Tilebottom;

m_Tilebottom = min(m_Tilebottom + TILESIZE, gFilterRecord->filterRectbottom);

}

//ZeroPsRect(&gFilterRecord->inRect);

CopyPsRect(&m_Tile, &gFilterRecord->inRect);//现在我们需要请求和outRect一样的区域

CopyPsRect(&m_Tile, &gFilterRecord->outRect);

//请求全部通道(则数据为interleave分布)

gFilterRecord->inLoPlane = 0;

gFilterRecord->inHiPlane = (gFilterRecord->planes -1);;

gFilterRecord->outLoPlane = 0;

gFilterRecord->outHiPlane = (gFilterRecord->planes -1);

}

//处理结束,这里我们暂时什么也不需要做

void DoFinish()

{

//清除需要显示UI的标志

m_ShowUI = FALSE;

//记录参数

WriteParams();

} (5)从PS Scripting System中读写我们的参数,我们为项目添加 ParamsScriptingh 和 ParamsScriptingcpp,代码如下。引入ReadParams 和 WriteParams *** ,该节主要涉及 PS 的描述符回调函数集,比较复杂,但在这里限于精力原因,我也不做更多解释了。具体可以参考我以前发布的相关随笔中有关讲解PS回调函数集的一篇文章以及代码注释。其相关代码如下:

#include "stdafxh"

#include "ParamsScriptingh"

#include <stdioh>

OSErr ReadParams(BOOL showDialog)

{

OSErr err = noErr;

PIReadDescriptor token = NULL; //读操作符

DescriptorKeyID key = NULL; //uint32,即char,键名

DescriptorTypeID type = NULL;

int32 flags = 0;

int32 intValue; //接收返回值

char text[128];

//需要读取的keys

DescriptorKeyIDArray keys = { KEY_FILLCOLOR, KEY_OPACITY, NULL };

if (showDialog != NULL)

showDialog = m_ShowUI;

// For recording and playback 用于录制和播放动作

PIDescriptorParameters descParams = gFilterRecord->descriptorParameters;

if (descParams == NULL)

return err;

ReadDescriptorProcs readProcs = gFilterRecord->descriptorParameters->readDescriptorProcs;

if (readProcs == NULL)

return err;

if (descParams->descriptor != NULL)

{

  常用的滤镜有uv镜、nd镜、渐变镜、cpl。

  uv镜在数码时代主要作用就是保护镜头。

  nd镜是用来减少进光量的,在白天又需要慢门拍摄时很有用。

  渐变镜是用来解决大光比问题的,可以让高光处和暗光处同时曝光正确。

  cpl可以消除水面和玻璃的反光,也可以使天空更蓝。

  其他还有颜色滤镜、星光镜等等,使用频率不如以上几种。

  

  几十块的滤镜不建议购买和使用,本来镜头是很精密的光学结构,在它前面加上玻璃或树枝的滤镜,一定会影响成像的。档次高的滤镜还可以尽量减少这种影响,但低端滤镜对于成像的影响比较大,一些劣质产品还会影响对焦。

  

  你的套机镜头,其实不必购买uv镜,买高档uv镜都上千块,跟你的镜头差不多了,不值得;买低档uv镜又影响成像,本来18-135的成像就一般,再下降就更没意义了。其他效果的滤镜,要根据你是否需要再决定。

  如果一定要购买,就买个一百多的肯高uv镜吧,平时可以不用,装在摄影包里。遇到下雨或者去海边等场合,临时装上保护一下镜头吧。

  如果要购买的话,购买和你镜头口径相同的滤镜即可。18-135镜头是67mm口径。

1、作用不同。uv镜是保护镜,作用是过滤紫外线的。而偏光镜是滤色镜的一种,是用来拍摄反光的景物的。偏振镜也叫偏光镜作用相同。而滤光镜是带颜色的镜头,来过滤光的颜色的,uv镜和偏光镜都是滤光镜的一种。如图是偏振镜。

2、用途不同。UV镜适用于海边、山地、雪原和空旷地带等环境下的拍摄,能减弱因紫外线引起的蓝色调。在拍摄花卉静物等摄影中,经常使用偏光镜去拍色彩艳丽的照片。在风景摄影、花卉摄影和拍摄某些特定的反光比较强烈的景物时很有用处。如图为uv镜。

扩展资料:

1、UV镜通常用于保护娇贵的镜头镀膜。UV镜能减弱因紫外线引起的蓝色调。还可以排除紫外线对CCD的干扰,有助于提高清晰度和色彩的效果。由于CMOS的普及,对紫外线的敏感度大大减小,所以如今uv镜的作用越来越小,uv镜有时还可能会起到负面的作用。

2、偏光镜是选择性地过滤来自某个方向的光线。通过过滤掉漫反射中的许多偏振光,从而减弱天空中光线的强度,把天空压暗,并增加蓝天和白云之间的反差。具体实拍时要看着取景器并旋转前镜,取景器中天空最暗时的效果最明显,最暗与最亮相差90度。

3、滤光镜起到“调味料”的作用。如果能够灵活的使用滤光镜,可以提高摄影作品的表现效果。在黑白摄影中用滤光镜可以改变景物的影调,使所拍的照片更接近于自然。而在彩色摄影中使用滤光镜,可以改变光源的色温、被摄者的颜色或者起到特殊的视觉效果。

4、偏振镜 (Polarizer),也叫偏光镜,简称 PL 镜,是一种滤色镜。偏振镜的除色功用是能有选择地让某个方向振动的光线通过,在彩色和黑白摄影中常用来消除或减弱非金属表面的强反光,从而消除或减轻光斑。

参考资料:

-偏振镜

-滤光镜

-偏光镜

-UV镜

本教程为大家介绍如何用photoshop从无到有 *** 一幅美丽的乡村河边晨雾场景,主要用到了滤镜 蒙版 图层样式和笔刷,先看效果图。

新建文档1920x1200像素,背景白色,双击背景转为普通层,添加图层样式。

从左到右颜色分别为#a1b1ca (天空) #ffc16e #d38844 (芦苇) #c48446 (小河) #141412,效果如下。

建新层,画一个白色正圆。

添加图层样式。

效果如下。

下面 *** 太阳的倒影,复制太阳层,挪到小河位置,垂直方向压扁些。

添加图层样式。

得到类似下图效果。

复制倒影层,滤镜模糊动感模糊400像素,效果如下。

底部建新层,载入M画笔,这个画笔可能photoshopCS5版本才有,没有的可以去百度一个。

选择下图所示画笔。

#p#副标题#e#

设置画笔。

前景色#5e3e1c涂抹地平线位置,类似下图效果。

之后垂直方向动感模糊6像素。

还是选择那个笔刷,尺寸缩小,前景色#f8c27a涂抹,适当降低图层不透明度,产生水平线效果。

建新层起名雾,前景色浅灰背景白色,滤镜渲染云彩,之后添加蒙版,黑白对称渐变,使雾只出现于水平线附近区域,图层模式划分。

复制雾层,图层模式点光,不透明度35%左右。

建新层,选择下图所示笔刷。

前景色4a2b09涂抹,模拟树林。添加蒙版把树林底部涂抹掉一些。

建新层,用钢笔描出房子轮廓,填充#bf906c,添加蒙版用黑色笔刷涂抹,产生若隐若现,距离很远的效果。

下面 *** 远处水平线效果,建新层,选择烟灰笔刷。

前景色#cb9c6c涂抹,之后颜色加暗一些,效果如下。

处理其它不和谐的地方,最终效果如下。

#p#副标题#e#

计划去海边旅行的小伙伴们,你们是不是计划好了穿搭什么衣服拍照呢?其实在海边游玩的时候选择合适的衣服拍出来的照片真的超级好看,下面小编就来和大家说说穿衣搭配。比如:

1连衣裙

连衣裙给人以一种淑女、安静的感觉,尤其是在辽阔的大海面前,一袭连衣长裙给人以一种“听,海哭的声音”这样的已经,安静而神秘。当然什么风格的连衣裙所衬托的气氛也是不一样的。一般来说,白色显的淑女而安静,红色的显得火热而性感,浅色显的祥和,而深色显的神秘。

2短裙

短裙给人以一种小女生、活泼的感觉,跟大海一样,有平静的一面,也有涌动的一面、一般穿短裙拍照的时候,配合着各种运动着的姿势会更加搭配。短裙的颜色搭配终究会带着活泼这样的属性,但是浅色的会显得更加的天真,黑色、红色会显得有些性感。

3泳衣

其实连体的泳衣在海边并不怎么适合,直男也不怎么爱看,比基尼是属于大海的,它永远附加着性感的属性,当然也是一样,糖果色的比基尼在性感中也带有一些活泼。

螺旋图形,样式效果是有很多的!而我们在ps软件里面也可以设计 *** 出来!对于很多小伙伴来说,可能ps *** 螺旋图形还是很有难度的,其实也不是,下面我们就为大家详细的分享了一个“PS创意螺旋图形设计”教程,大家跟着操作即可快速 *** 出来好看的PS创意螺旋图形哦~PS创意螺旋图形设计步骤:1、打开PS,选择菜单“文件-打开”命令:2、选择呢拼贴图案5,在画布中绘制出下面的图形:3、栅格化图层,执行滤镜-扭曲-波纹设置合适的属性,得到下图的效果:4、接着顺时针旋转90度,然后执行滤镜-风格化-风,设置下图中的属性:5、然后Ctrl+F组合键多次使用,并且给图层设置渐变叠加的图层样式,得到下图效果:6、然后利用椭圆选框工具选择图案的一个部分,然后反向选择删除选中的内容,得下图的效果:7、接着利用Ctrl+D取消选区,然后将图案移动到合适的位置,然后复制一个图层,将复制的新图层已最下面的一点为中心旋转并缩小,得到下图效果:8、然后再多次使用Ctrl+Shift+Alt+T组合键,得到的效果图如下图所示:9、然后复制几个上图的图案,调整大小和方向,得到的最终效果图如下:以上就是我们为大家分享到的“PS创意螺旋图形如何设计”相关内容分享了,教程中使用到了PS滤镜、图层样式以及旋转等功能,希望大家都能够学会其操作 *** 哦!最后,关于更多ps技巧学习,就可以跟着专业课程展开专业学!

滤镜基本可以分为三个部分:内阙滤镜、内置滤镜(也就是Photoshop自带的滤镜)、外挂滤镜(也就是第三方滤镜)。内阙滤镜指内阙于Photoshop程序内部的滤镜,共有6组24个滤镜。

内置滤镜指Photoshop缺省安装时,Photoshop安装程序自动安装到plugin目录下的滤镜,共12组72支滤镜。外挂滤镜就是除上面两种滤镜以外,由第三方厂商为Photoshop所生产的滤镜,它们不仅种类齐全,品种繁多而且功能强大,同时版本与种类也在不断升级与更新。

扩展资料:

所有的滤镜在Photoshop中都按分类放置在菜单中,使用时只需要从该菜单中执行这命令即可。滤镜的操作是非常简单的,但是真正用起来却很难恰到好处。

滤镜通常需要同通道、图层等联合使用,才能取得更佳艺术效果。如果想在最适当的时候应用滤镜到最适当的位置,除了平常的美术功底之外,还需要用户对滤镜的熟悉和操控能力,甚至需要具有很丰富的想象力。这样,才能有的放矢的应用滤镜,发挥出艺术才华。

-滤镜

问题一:数码相机拍夕阳用什么滤镜 不要用滤镜,后期处理更灵活。因为一旦用了滤镜拍成黑白就不能回复彩色了,而原始是彩色的采用后期处理非常简单,处理完了另存一下,不要将原始照片给改变了。

问题二:海边拍夕阳用什么滤镜 用红色滤镜~

后期PS只是辅助~

前期也是很重要的~~最起码你要有个型出来吧

问题三:单反拍晚霞用来压低太阳光线的镜片叫什么 中灰渐变镜

问题四:怎样拍夕阳 拍摄夕阳的技巧 *** 如下:

1拍摄准备

由于太阳的实际距离很远,即使使用200mm的镜头也只能在画面中留下指甲大小的图象,建议大家使用长焦镜头。太阳下落后,光线的亮度将明显下降,慢速快门配合长焦拍摄,三脚架必不可少。黄昏的时候地面上会有晚霞遮盖着太阳散射的光线,显现出一轮没有光芒散射的太阳,这就是拍摄日落的时机了。当太阳光开始减弱,周边天空或者云彩开始出现红色或者**的晚霞时就开始拍摄,朝霞或者晚霞的变幻是无常而且迅速的,在实际拍摄之前更好预先在印象中构图,以免造成手忙脚乱。

2曝光

拍摄日落时曝光量很难掌握,这是因为光线变化太快,一般以画面中央的亮度为曝光依据,测光以天空为主要对象。一旦曝光过度日落时的气氛难以反映。摄影者可将曝光控制在曝光不足半档至一档,由于太阳的亮度始终要比天空高得多,如果天空的曝光过于充足,太阳必定会过曝,所以在拍摄的时候要对天空测光曝光,直接对着太阳,曝光读数总是不准。这样会导致画面上只有太阳,而其余部分却曝光不足。大多数时候宁愿照片稍微欠曝也不要过曝,以背景进行曝光测定,能使主体曝光严重不足,形成强烈的剪影。可以将相机的测光模式选择为“点测光”,接下来对天空进行测光,如果自己的相机有曝光锁,按下AE Lock钮,将曝光值锁定(有些DC半按住快门键以锁定)。之后重新调整构图,以刚才的曝光进行拍摄,这样就可以拍出完美的剪影效果。如果拍摄日落的时候测光不位于天空,那么照片中的其它物体会显得比较明显,导致太阳不够突出。如果过将测光对准天空,那么便能衬托出太阳这个主体。

3白平衡

数码相机有丰富的白平衡效果可以代替简单的滤色镜。一般DC的白平衡都包含了:日光、阴天、灯管、白炽灯。当选择日光白平衡的时候画面最偏**、选择白炽灯白平衡的时候画面最偏蓝色。在拍摄日落的时候,建议选择自动白平衡或者日光白平衡,拍摄出来偏黄的色调很能表现出夕阳的氛围。

4云的因素

云在拍摄中是自然的反光物体,它能传播太阳的光线,从而不断变化着拍摄效果。云也可以作为作拍摄的主要题材。但要注意观察当天边的云遮住落日时,光线会从云后边缘四处射出,使照片增加极为艳丽动人的效果。光线会从云后边缘四处射出。日落时,太阳显得又大又园,若周围有火烧云,景致相当迷人。为正确曝光,也应该设计几种曝光方案组合拍摄。如果要利用前景表现出天空的夕阳景色,前景往往被处理成剪影的效果,剪影效果照片的获得充分利用了主体与背景受光的差异。一般来说,日落时的逆光是很容易表现出剪影的效果的,因为这时的光线最柔和,提前选好位置和角度。等待太阳落下地平线,由红变橙**,或由橙**变红时,看上去又不刺眼时,是拍摄的更好时机。有时当太阳隐藏到云彩的背后时,云彩的周边会出现一条亮边,这样的景色也是非常适合拍摄的。但是由于云彩的变幻无常,所以要求摄影者在拍摄的时候要注意观察,注意抓住按下快门的时机。在以拍摄云彩为主体的时候,一般来说要将测光点对准云彩来测光,但是同时要注意不要让太阳过曝。云彩在拍摄中是自然的反光物体,它能反射或者折射太阳的光芒,从而不断变化着动人的形象。云彩在很多优秀的日落作品中都是必不可少的因素,所以云彩也可以作为作拍摄的主要题材

5水的因素

拍摄水面倒影会使日落的照片增色,平静的海面或湖面能反映天空中的景物。呈现出如镜中一样的影象,而拂过水面的微风总是会扰动这种倒影。在水面上留下条更加耀眼的光线,并从地平线到画面的前景之间勾画出一条光路。当太阳渐渐下落时,这条光路会延伸到眼前。在水边拍摄的时候首先需要注意的是构>>

问题五:使用单反佳能EOS-7D 照黄昏 落日 应该调什么!在线等! 你想拍出什么效果呢?

如果是想拍剪影效果的话,使用评价测光,这样夕阳曝光准确,前景和人物都只剩轮廓了。

如果想拍夕阳下的人像,同样用评价测光,然后用闪光灯对人进行补光,就可以拍出人和夕阳都曝光正确的照片。

如果想拍出那种前景和夕阳都清晰的片子,需要用到反向渐变滤镜。对夕阳附近较亮云层点测光、对地面景物较暗处也点测光,然后计算出两者的曝光级数差。调到m档,选用地面景物的曝光参数组合,选用合适档位的反向渐变滤镜,就可以压暗天空,让地面和天空都曝光正确。

此 *** 需配合相机上三脚架,用小光圈、低iso,手动对焦到无穷远或使用超焦距,用快门线和反光板预升来减轻相机震动。

白平衡可以设置成阴天白平衡,这样可以让整个画面色调更符合夕阳的感觉。

问题六:拍摄日出或日落时往往照片出现光晕,怎样避免,后期如何矫正 加遮光罩

去掉滤镜

构图选择角度,把光晕压小或放在构图恰当的位置。

保持相机在三脚架上固定不动,可以在日出前或日落后再拍摄一张,用堆栈叠加的方式去掉光晕。

问题七:佳能700d拍夕阳西下 全新的EOS 700D作为EOS 650D的后继机型,在外观设计上略有不同。机身表面除了采用高质感的新涂层外,还改变了模式转盘的设计。而从其他功能配置上看,它的技术卖点为搭载1800万有效像素CMOS图像感应器、DIGIC 5数字影像处理器、全9点十字型自动对焦感应器以及可更高约5张/秒的高速连拍等等方面。

从外观上看,佳能EOS700D的整体外形尺寸为1331×998×788mm,重约525g(仅机身)。主要按键布局与EOS650D相比没有变化,亮点依然为30英寸104万像素可旋转触摸屏。在Hybrid CMOS AF技术的驱动下,用户可通过它实现触摸对焦、触摸快门、触摸回放等功能。

而从性能上看,佳能EOS 700D搭载APS-C规格CMOS传感器,有效像素约为1800万。在DIGIC 5数字影像处理器的支持下,可以实现ISO100-6400的常用感光度范围,更高等效值可达ISO25600。另外,它的快门速度范围是1/4000-30秒、B门,连拍速度达每秒5张。该产品依旧支持9点自动对焦系统,中心F28对焦点为双十字型结构,其他对焦点为单十字型结构,全部对应F56光圈。

最后,佳能EOS 700D在内置处理方面提供给用户较大的余地,提供了HDR拍摄模式,还包含快速连拍4张照片合成的‘手持夜景’模式。它也具备了多种内部特效滤镜,用户可更直接地方式加入不同效果,输出更具个性风格的照片。[1]

问题八:尼康d7100单反晚霞怎么拍摄 低感、点测(对着比较亮但不是最亮的部位测光)、合适的快门与光圈……这样拍摄出来的晚霞应该很棒的……

另外,还可以通过外接滤镜的方式来让画面效果更艳丽。

这种题材因为光影变化多端,所以比较吃功夫,需要多多练习。

问题九:单反对着早上的太阳拍,会损害相机吗? 终于看到一个宾友了!我用的是宾得k5,在六一那天拍了几十张太阳的照片吧,下午4点的大太阳,无云,深圳大学城,有10多张是正对着太阳拍的,太阳的大小占画面还很大,但相机一点事没有。单反是在按下快门才曝光,曝光时间最多就几十分之一秒,所以对cmos是没有影响的,这个可以放心,不过有很多张曝光不准确,对测光系统还是会暂时失效。所以经常长时间在强烈太阳下对测光系统还是会加速老化的,但相机就是买来用的,朝阳夕阳的美景,逆光下的人像,都很美,什么都不敢拍就浪费相机了。相机没有那么娇贵,正常使用不会损坏的,你手里的单反基本是被淘汰而不是用坏的。但正午用长焦对着太阳,光学目镜下看构图小心烧伤眼睛,这个必须注意,拍夕阳更好配减光镜,不然得不到准确曝光。