柔光混合模式android,滤色与柔光两种图层混合模式的理解和应用实例
上午逛了下许久没有来的网站,很有一种久违的感觉,随即浏览了下,发现里面有个帖子叫做“唯美效果轻松做”,仔细阅读了一遍,体会较深。首先的感觉是整个图片处理过程简单明了,短短几步就达到了预期的目的,其中最关键的步骤是对两种图层混合模式——滤色和柔光的运用,现将两种模式的概念与原理进行介绍,最后用一个案例来说明(注:以下两种概念均来自互联网)。
一、滤色
(1)概念
查看每个通道的颜色信息,并将混合色的互补色与基色复合。结果色总是较亮的颜色。用黑色过滤时颜色保持不变。用白色过滤将产生白色。此效果类似于多个摄影幻灯片在彼此之上投影。
(2)原理
255-(255-基色)×(255-混合色)/255=结果色
结合公式,让我们来验证一下:“用黑色过滤时颜色保持不变。用白色过滤将产生白色。(在其它情况中)结果色总是较亮的颜色。”
黑色255-(255-基色)×(255-0)/255=基色
白色 255-(255-基色)×(255-255)/255=255
中性灰 255-(255-基色)×(255-128)/255=128+1/2基色
基色图(原始图片,置于混合色图层之下):
混合色图(用于调整基色图):
采用滤色模式后的最终效果为:
由此可见,滤色模式是通过将基色与混合色进行对比,保留混合色中比基色亮的颜色,屏蔽了比基色暗的颜色,这样一来,整个处理过程结束后,图片在原来基础上会变亮。所以对于那些曝光不足的照片可以采用该方式来进行调整。
二、柔光
(1)概念
柔光模式会依据上面图层图像的明暗度来加深或加亮图片色彩,以50%灰色为基准,上面图层像素比50%灰色淡的,加亮图片色彩;比50%灰色深的,则会加深图片色彩;与50%灰色一样的,则不起作用(http://yuyao406.blog.sohu.com/69760603.html)。由此定义可以得出结论:柔光模式的使用与混合色的色相无关。两外,定义中“加亮”与“加深”的程度没有明确表述。
(2)原理
基色图(原始图片,置于混合色图层之下):
混合色图(用于调整基色图):
采用柔光模式后的最终效果为:
柔光混合模式android,滤色与柔光两种图层混合模式的理解和应用实例相关推荐
- android注册广播两种方式,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- Android 更新UI的两种方法——handler和runOnUiThread()
Android 更新UI的两种方法--handler和runOnUiThread() 在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外 ...
- Android 圆形头像的两种实现方式
Android 圆形头像的两种实现方式 前言 这篇博客只是为了做一个记录而已,方便而后查询,核心代码都是直接采用鸿洋博客里面的代码的. 圆形头像在实际开发中实际很常见,一般来说,主要有两种实现方式: ...
- android 图片方法,分享实现Android图片选择的两种方式
Android选择图片的两种方式: 第一种:单张选取 通过隐式启动activity,跳转到相册选择一张返回结果 关键代码如下: 发送请求: private static final int PICTU ...
- Android启动服务的两种方法
Android启动服务的两种方法 第一种方法 第二种方法 Android 5.0开始,只能使用显式Intent启动服务.其中,启动服务有2种方式,第一种是直接指定想要启动的服务:第二种是使用AIDL的 ...
- 【Android】Android 彩信发送的两种方式+源代码
Android 彩信发送的两种方式 第一种:直接调用彩信发送接口 实现代码如下, Intent intent = new Intent(Intent.ACTION_SEND); intent.add ...
- android两种广播注册区别,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- Android中保存图片的两种方式
Android中保存图片的两种方式 第一种是保存到数据库: 1.保存到数据库: 2.从数据库读取: 二是以图片格式保存到本地 1. A.声明tempFile以保存到指定路径: B.保存到tempFil ...
- 从o开始的pwn学习之随意pwnpwn(1)----两种绕过canary(金丝雀)的实例
文章目录 从0开始的pwn学习之随意pwnpwn(1)----两种绕过canary(金丝雀)的实例 金丝雀基础知识 canary是如何工作的 原理 覆盖00字符读出canary 原理 利用条件 实例- ...
最新文章
- html div坐标定位,html div位置和显示
- oracle数据定义语句,oracle(sql)基础篇系列(3)——数据维护语句、数据定义语句、伪列...
- opengl基础学习专题 (二) 点直线和多边形
- 修改so_新手向总结:IDA动态调试So的一些坑
- C++程序的执行过程
- 使用socket的Linux上的C语言文件传输顺序服务器和客户
- 记:第一次更新服务器CUDA和GPU驱动
- TED演讲——人生的12条法则
- python基础--字符串单引号双引号和三引号
- Sams_Teach yourself XXX in XXX days
- JS上传图片到七牛云
- Suspending Methods【暂停方法队列说明】
- 《NLP汉语自然语言处理原理与实践》郑捷书中代码
- android 耳机数据传输,智能手机耳机电路工作原理
- android悬浮窗口的实现
- Java:Excel写入“合并单元格“
- Linux命令 千里之行 始于足下
- 【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)
- Python3 与 C# 基础语法对比(String专栏)
- Java中 POI读取Excel工具类
热门文章
- redhat8安装rpm提示package does not verify: no digest
- 解决 unity vs2017编辑器 全范围脚本报错 : predefined type 'system.object' is not defined or imported
- how to assign more that 31 VFs to one VM
- Seata Failed to get available servers: endpoint format should like ip:port 报错原因/解决方案汇总版(看完本文必解决问题)
- HTML/CSS 常用单词整理
- 计算机视觉会议(CVPR,ECCV,ICCV,NIPS,AAAI,ICLR等)
- WINDOWS如何用自己的电脑做一个网站服务器
- ‘data‘ hides member of supertype ‘BaseExpAdapter‘ and needs ‘override‘ modifier
- 【转载】BAPI_GOODSMVT_CREATE FUNCITON FOR MIGO 各种移动类型 源代码参考
- 汽车自动驾驶级别分类