大象玩摄影已有一段时间,通过学习发现,摄影与编程之间有很多相似之处。在此,我简单的总结一下,自娱自乐。
玩摄影当然需要相机,而且是专业的单反相机。你说为什么不是卡片机?卡片机因为自身条件的限制,无法达到较好的拍摄效果。所以,一般情况下,都是指单反相机。没有相机怎么拍照片?同样的,对于我们开发人员来说,开发工具就好比摄影中的相机,没有它我们怎么做开发?用记事本?你一定是火星来的,要不就是一傻B。另外,在单反相机中,还分不同的品牌,佳能、尼康、索尼、宾得、徕卡……,这就好比不同种类的开发工具,比如Eclipse、IntelliJ IDEA、NetBeans、JBuilder等等等等。
单反相机之所以能够拍出那么多美丽动人的照片,除了相机本身的因素外,最主要的是它可以更换不同种类的镜头。比如鱼眼镜头,超广角镜头,广角镜头,标准的变焦镜头,中长焦镜头,长焦镜头,超长焦镜头等等。而且镜头里面也分三六九等,好镜头俗称“牛头”,做工好,成像好,价格贵,与之相反的就是差镜头,俗称“狗头”,当然也不能说真的很差一无是处,这是相对“牛头”比较而言,根据不同的用途以及经济条件进行具体的选择。除此之外,还有很多定焦镜头。丰富的镜头群,给照片拍摄带来极大的便利性,同时也保证了成像效果。那么在开发工具中,我们有各种各样的插件,这些插件提供不同的功能,有好用的,也有不好用的。与镜头的花费相比,插件基本上都是免费的,偶有收费的,也挡不住咱们牛B滴破解大军。
构图是一幅作品好坏的最关键因素,如果一张照片构图都有问题,那么不管它的曝光如何正确,色彩如何鲜艳,都是一幅失败的作品。系统框架亦是如此,这不仅是将现有开源框架的整合,而是自己根据不同的项目,设计出符合该项目,并能方便开发,易于扩展,结构松散的系统架构。其实这句话每个人都懂,但只有很少人能够做到。而且很难用语言表达出来,是一种境界,和构图一样,只可意会,不能言传。与武侠小说中描写的各类神功很相似,讲究一个悟字,明白就是明白,不明白就是不明白。
摄影中最难的除了构图外,要算用光技巧了,如何创作一幅优秀的作品,光的运用非常关键。在开发领域,除了系统架构外,最重要的要属编程思想了。编程思想在整个开发过程中贯穿前后,影响着代码质量。如何写出优秀的代码,编程思想起到的作用相当大。这就让我想到了那位著名的,同样也是一位非常厉害的程序大师——《Thinking in Java》的作者——Bruce Eckel。他已经将编程思想这门功夫练到了出神入化的境界,让我等后辈生出高山仰止的感觉,自叹何时能修炼到这个层次!
当你有了好的构图与巧妙的用光后,剩下的就要使用对焦、光圈、快门、ISO这几个摄影的基本要素来完成拍摄。对焦要准确,这样被摄对象在照片中才能清晰成像,而光圈、快门和ISO则会影响曝光。只有正确的曝光,作品才会算拍摄成功。而在开发中与之类似的基本要素则是类、变量、操作符、流程语句,合理有效的组织它们来构成我们需要的的代码,进而形成模块,最终做成项目。
编程与摄影都需要时间的积累和沉淀,只有经过时间的洗涤,自身各个方面的能力才会得到提高,境界自然也会提升。所以,需要不断的学习和总结,另外交流也是个不错的途径,与别人分享经验对于提高水平很有帮助,切勿闭门造车,固步自封,这样做一点好处都没有。大象非常欢迎与各位交朋友,分享学习经验。
阅读(1828) | 评论(0) | 转发(0) |