Atitit blend mode COLOR_DODGE 混合模式  “颜色减淡”模式

1.1. 混合模式是图像处理技术中的一个技术名词1

1.2. 目录1

1.3. 颜色减淡COLOR_DODGE的公式如下2

1.4. 详细解释及原理3

1.5. 使用javafx 类库实现图像叠加混合3

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 混合模式  “颜色减淡”模式的更多相关文章

  1. Atitit 颜色平均值cloor grb hsv模式的区别对比

    Atitit 颜色平均值cloor grb hsv模式的区别对比 使用hsv模式平均后会变得更加的靓丽一些..2 public class imgT { public static void main ...

  2. Atitit 图像处理类库安装与安装模式的前世今生与未来大趋势attilax总结.docx

    Atitit 图像处理类库安装与安装模式的前世今生与未来大趋势attilax总结.docx 1. 安装的原理,主要是解压,复制,设置三大步1 2. 目前我们常见的三大种安装模式,二进制模式与源码安装模 ...

  3. Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend

    Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend 1.1. Jhlabs 好像有了可以叠加算法,但是没有找到doc1 1.2. 自己算法叠加1 1.3. 使用javaf ...

  4. JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)

    什么是面向对象?面向对象是一种思想. 面向对象可以把程序中的关键模块都视为对象, 而模块拥有属性及方法. 这样如果我们把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.   工厂 ...

  5. Atitti 图像处理 图像混合 图像叠加 blend 原理与实现

    Atitti 图像处理 图像混合 图像叠加 blend 原理与实现 混合模式 编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 混合模式是图像处理技术中的一个技术名词,不 ...

  6. 经典CSS颜色混合模式

    转自:http://www.webhek.com/css-blend-mode/ 注意:只有使用最新版的谷歌浏览器.火狐浏览器,才能正确的显示本文中的演示. Photoshop里最没有用处的一种功能— ...

  7. Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx

    Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...

  8. PS图层混合模式实例详解

          PS中的很多概念都和Core Graphics中的概念相通,比如蒙版.路径.裁剪.混合模式等等.如果你对Core Graphics中的混合模式不太理解,阅读本篇文章能让你对Core Gra ...

  9. PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡)

    下列公式中,A代表了上面图层像素的色彩值(A=像素值/255),B代表下面图层像素的色彩值(B=像素值/255),C代表了混合像素的色彩值(真实的结果像素值应该为255*C).该公式也应用于层蒙板. ...

随机推荐

  1. Linux最常用命令之cd和ls

    为什么说是最常用的命令呢,因为从普及程度看,即使不怎么接触过Linux系统的人,大多数都会知道这两个命令:而从使用频率看,这两个命令也是当之无愧的首位.现在我们就来看看这两个命令. cd 篇:cd 即 ...

  2. VMware克隆虚拟机,克隆机网卡启动不了解决方案

    Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interfac ...

  3. 第二章:k-近邻算法

    本章内容k-近邻分类算法从文本文件中解析和导人数据 使用Matplotlib创建扩散图归一化数值 2.1 k-近邻算法概述简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类.

  4. bond配置

    Bonding的模式一共有7种: #defineBOND_MODE_ROUNDROBIN       0   (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTI ...

  5. Software Testing Lab1

    Junit和Hamcrest的安装需要先把两个jar文件下载到本地,具体取得方式多种多样,我是直接从同学那要的.新建一个java项目,在新建时直接在库中导入这两个包即可. 这次编程内容是一个测试三角形 ...

  6. Ubuntu下使用USB串口

    Ubuntu本身一般都带了USB转串口的驱动. 1. 首先确认系统支持USBSerial,输入以下命令:      lsmod | grep usbserial 2. 接上USB串口线,看看系统是否可 ...

  7. 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. ...

  8. 本人讲课时录制的Android应用开发技术教学视频

    网盘地址:http://yun.baidu.com/pcloud/album/info?query_uk=1963923831&album_id=3523786484935252365 本人讲 ...

  9. linux-14基础命令之-复制(cp)移动(mv),删除(rm),拷贝文件(dd)

    1.cp 命令用于复制文件或者目录 格式为:cp[选项]源文件  目标文件 复制名录有三种情况: @1.目标文件是一个目录,将源复制到该目录下:  @2.目标文件是一个文件,将源文件覆盖该文件: @3 ...

  10. \(\S1\) 描述性统计

    在认识客观世界的过程中,统计学的思想和方法经常起着不可替代的作用.在许多工程及自然科学的专业领域中,包括可靠性分析.质量控制.生物信息.脑科学.心理分析.经济分析.金融风险管理.社会科学推断.行为科学 ...