Atitit blend mode COLOR_DODGE 混合模式 “颜色减淡”模式
Atitit blend mode COLOR_DODGE 混合模式 “颜色减淡”模式
1.6. 代码实现 /AtiPlatf_cms/src/com/attilax/img/ImageBlendFilter.java4
1.1. 混合模式是图像处理技术中的一个技术名词
,不仅用于广泛使用的Photoshop中,也应用于AfterEffect、llustrator 、 Dreamweaver、 Fireworks等软件。主要功效是可以用不同的方法将对象颜色与底层对象的颜色混合。当您将一种混合模式应用于某一对象时,在此对象的图层或组下方的任何对象上都可看到混合模式的效果。
1.2. 目录
00001. 1 详细解释及原理
00002. 2 通常
00003. ▪ 正常模式(Normal)
00004. ▪ 溶解模式(Dissolve)
00005. ▪ 背后模式(Behind)
00006. ▪ 清除模式(Clear)
00007. 3 变暗系
00008. ▪ 变暗模式(Darken)
00009. ▪ 正片叠底(Multiply)
00010. ▪ 颜色加深模式(Color Burn)
00011. ▪ 线性加深模式(Linear Burn)
00001. ▪ 深色模式(Darker Color)
00002. 4 变亮系
00003. ▪ 增加模式(Add)
00004. ▪ 变亮模式(Lighten)
00005. ▪ 滤色模式(Screen)
00006. ▪ 颜色减淡模式(Color Dodge)
00007. ▪ 线性减淡模式(Linear Dodge)
00008. ▪ 浅色模式(Lighter Color)
00009. 5 饱和度系
00010. ▪ 叠加模式(Overlay)
00001. ▪ 柔光模式(Soft Light)
00002. ▪ 强光模式(Hard Light)
00003. ▪ 亮光模式(Vivid Light)
00004. ▪ 线性光模式(Linear Light)
00005. ▪ 点光模式(Pin Light)
00006. ▪ 实色混合模式(Hard Mix)
00007. 6 差集系
00008. ▪ 差值模式(Difference)
00001. ▪ 排除模式(Exclusion)
00002. ▪ 减去模式(Subtract)
00003. ▪ 划分模式(Divide)
00004. 7 颜色系
00005. ▪ 色相模式(Hue)
00006. ▪ 饱和度模式(Saturation)
00007. ▪ 颜色模式(Color)
00008. ▪ 亮度模式(Luminosity)
1.3. 颜色减淡COLOR_DODGE的公式如下
P(x,y) = Pb(x,y) + (Pb(x,y)* Pc(x,y)) / (256 - Pc(x,y));
C =MIN( A +(A×B)/(255-B),255)
(255-B)就是得到b的反相
既然知道了算法,现在开始代码:
A为原图gray图, b为上层图片,即是灰度图反相底片高斯模糊后的图片
C的最大值为255,如果超出要截取到255,否则会脸部变黑色。。如果b是255,则除磷错误,需要直接返回255即可
1.4. 详细解释及原理
以画笔工具为例说明其原理。
任意打开一幅图,选择画笔工具,选择合适的笔刷。设定不同的模式在图像上绘画,即可得到不同的效果。
为了叙述方便,暂且将原图像中的颜色称之为“底色A”画笔的颜色为“绘图色B”,将通过混合模式得到的最后颜色称为“最终色
“颜色减淡”模式的公式是:基色+(基色*混合色)/(255-混合色)= 结果色,其中(255-混合色)当于混合色的反相。
1、若混合色为0(黑色),则由于(基色*混合色)这项为0,则结果色等于基色,图像不发生变化;基混合色为128(50%的黑),情况分为两种:
(1)当基色小于128时,结果色等于2基色,由于这个数值小于255所以呈某种阶调的灰。
(2)而当基色大于128(50%的黑)时,结果色等于2基色,这个值是大于255值,255(白色);
2、若混合色为255(白色),则混合色的反相为0,无论基色为何值,结果色都大于255,归为255(白色)。
1.5. 使用javafx 类库实现图像叠加混合
public static BufferedImage blend_COLOR_DODGE(String topImg,
String lowImg) {
javafx.scene.image.Image topimg_jfxfmt = toImg(topImg);
javafx.scene.image.Image lowImg_jfxFmt = toImg(lowImg);
Blend blend = new Blend(BlendMode.COLOR_DODGE);
blend.setTopInput(new ImageInput(topimg_jfxfmt));
blend.setBottomInput(new ImageInput(lowImg_jfxFmt));
Group grp = new Group();
grp.setEffect(blend);
//WritableImage img = new WritableImage((int) topimg_jfxfmt.getWidth(),
//(int) topimg_jfxfmt.getHeight());
// scene.snapshot(img);
WritableImage img2 = grp.snapshot(new SnapshotParameters(), null);
//StackPane root = javafxUtil.getStackPaneFrmImg(img2);
BufferedImage copy2 = SwingFXUtils.fromFXImage(img2, null);
copy2 = imgx.Remove_alpha_channel(copy2);
return copy2;
}
1.6. 代码实现 /AtiPlatf_cms/src/com/attilax/img/ImageBlendFilter.java
BufferedImage copy2=new ImageBlendFilter().setBlendMode(ImageBlendFilter.COLOR_DODGE)
.setSecondImage(Gaussiancopy ).filter( gray_copy , null);
Guass avbove on gray pic..gray pic is blow lev..
// 暂且将原图像中的颜色称之为“底色A”画笔的颜色为“绘图色B”,将
//base ori is a, push pen is b
//yaosi fangfe ,zo div zeor ex..
// ,公式为:
//C =MIN( A +(A×B)/(255-B),255)
/**
* b = guassBlur[index];
a = gray[index];
。颜色减淡的算法是这样的:C =MIN( A +(A×B)/(255-B),255),其中C为混合结果,A为源像素点,B为目标像素点。
* @param b
* @param a
* @return 其中(255-混合色)当于混合色的反相。
*/
private int modeCOLOR_DODGE(int a, int b) {
if (b >= 255)
return 255;
//if (b < 128)
//System.out.println("Dbg");
if(a<128)
System.out.println("dg");
//try {
float rzt = (float)a + (float)(a * b) /(float) (255 - b);
int clr = (int) rzt;
if (clr > 255)
return 255;
return clr;
// MIN(clr,255);
}
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitit blend mode COLOR_DODGE 混合模式 “颜色减淡”模式的更多相关文章
- Atitit 颜色平均值cloor grb hsv模式的区别对比
Atitit 颜色平均值cloor grb hsv模式的区别对比 使用hsv模式平均后会变得更加的靓丽一些..2 public class imgT { public static void main ...
- Atitit 图像处理类库安装与安装模式的前世今生与未来大趋势attilax总结.docx
Atitit 图像处理类库安装与安装模式的前世今生与未来大趋势attilax总结.docx 1. 安装的原理,主要是解压,复制,设置三大步1 2. 目前我们常见的三大种安装模式,二进制模式与源码安装模 ...
- Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend
Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend 1.1. Jhlabs 好像有了可以叠加算法,但是没有找到doc1 1.2. 自己算法叠加1 1.3. 使用javaf ...
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
什么是面向对象?面向对象是一种思想. 面向对象可以把程序中的关键模块都视为对象, 而模块拥有属性及方法. 这样如果我们把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作. 工厂 ...
- Atitti 图像处理 图像混合 图像叠加 blend 原理与实现
Atitti 图像处理 图像混合 图像叠加 blend 原理与实现 混合模式 编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 混合模式是图像处理技术中的一个技术名词,不 ...
- 经典CSS颜色混合模式
转自:http://www.webhek.com/css-blend-mode/ 注意:只有使用最新版的谷歌浏览器.火狐浏览器,才能正确的显示本文中的演示. Photoshop里最没有用处的一种功能— ...
- Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx
Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...
- PS图层混合模式实例详解
PS中的很多概念都和Core Graphics中的概念相通,比如蒙版.路径.裁剪.混合模式等等.如果你对Core Graphics中的混合模式不太理解,阅读本篇文章能让你对Core Gra ...
- PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡)
下列公式中,A代表了上面图层像素的色彩值(A=像素值/255),B代表下面图层像素的色彩值(B=像素值/255),C代表了混合像素的色彩值(真实的结果像素值应该为255*C).该公式也应用于层蒙板. ...
随机推荐
- Linux最常用命令之cd和ls
为什么说是最常用的命令呢,因为从普及程度看,即使不怎么接触过Linux系统的人,大多数都会知道这两个命令:而从使用频率看,这两个命令也是当之无愧的首位.现在我们就来看看这两个命令. cd 篇:cd 即 ...
- VMware克隆虚拟机,克隆机网卡启动不了解决方案
Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interfac ...
- 第二章:k-近邻算法
本章内容k-近邻分类算法从文本文件中解析和导人数据 使用Matplotlib创建扩散图归一化数值 2.1 k-近邻算法概述简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类.
- bond配置
Bonding的模式一共有7种: #defineBOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTI ...
- Software Testing Lab1
Junit和Hamcrest的安装需要先把两个jar文件下载到本地,具体取得方式多种多样,我是直接从同学那要的.新建一个java项目,在新建时直接在库中导入这两个包即可. 这次编程内容是一个测试三角形 ...
- Ubuntu下使用USB串口
Ubuntu本身一般都带了USB转串口的驱动. 1. 首先确认系统支持USBSerial,输入以下命令: lsmod | grep usbserial 2. 接上USB串口线,看看系统是否可 ...
- python easy_install pip django
1. install python (2.7.8) 2. set PATH, add python27 3. python easy_install.py 4. easy_install pip 5. ...
- 本人讲课时录制的Android应用开发技术教学视频
网盘地址:http://yun.baidu.com/pcloud/album/info?query_uk=1963923831&album_id=3523786484935252365 本人讲 ...
- linux-14基础命令之-复制(cp)移动(mv),删除(rm),拷贝文件(dd)
1.cp 命令用于复制文件或者目录 格式为:cp[选项]源文件 目标文件 复制名录有三种情况: @1.目标文件是一个目录,将源复制到该目录下: @2.目标文件是一个文件,将源文件覆盖该文件: @3 ...
- \(\S1\) 描述性统计
在认识客观世界的过程中,统计学的思想和方法经常起着不可替代的作用.在许多工程及自然科学的专业领域中,包括可靠性分析.质量控制.生物信息.脑科学.心理分析.经济分析.金融风险管理.社会科学推断.行为科学 ...