正片叠底效果是我们平时在Photoshop中会见到的一种效果,下面这篇文章主要给大家介绍了关于利用Java如何实现正片叠底的效果,分享出来供大家参考学习,文中给出了详细的示例代码供大家参考学习,需要的朋友可以参考借鉴,下面来一起看看详细的介绍吧。
前言
本文主要给大家介绍了关于利用Java如何实现正片叠底效果的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
正片叠底,在Photoshop中是一种混合模式,简单的说就是可以让2个图层的内容融合起来。
PS中最佳展示用例
融合的计算公式其实非常简单,就是 A*B/255。(A、B是指的图层A和图层B)
再解释一下就是:
A图层中的红色通道和B图层中的红色通道所对应的每一个像素的灰阶值相乘,再被255除。得到一个新的红色通道。 蓝色与绿色通道的操作也是一样的。
实现方法
某个通道的像素灰阶值其实就可以直接用其对应RGB值来代替,下面用代码来解释下这个过程。
先封装一个根据像素获取对应RGB数组的方法 后面会用到
public static int[] getRGB(int pixel) { int r = (pixel >> 16) & 0xff; int g = (pixel >> 8) & 0xff; int b = pixel & 0xff; return new int[]{r, g, b}; }
然后遍历图像像素,遍历过程点省略了,直接进入处理阶段
// 先获取两个图层同一位置的像素值 int pixelA = imgA.getRGB(x, y); int pixelB = imgB.getRGB(x, y); // 获取两组RGB数组 int[] rgb1 = getRGB(pixelA); int[] rgb2 = getRGB(pixelB); // 根据公式分别计算新的RGB值 int r = rgb1[0] * rgb2[0] / 255; int g = rgb1[1] * rgb2[1] / 255; int b = rgb1[2] * rgb2[2] / 255; // 获得正片叠底后的像素值 int pixelNew = new Color(r, g, b).getRGB();
拿到新像素后直接设置到新的图片中即可了。
这个方法已经被me封装好了,放到了Nutz (本地下载)的工具栏Images中,可以直接拿来调用,下面给出个Nutz的调用例子,可以拿来修改下直接用。
比如我们给金将军加个太阳:
金将军
大太阳
// 先获取两张图片 BufferedImage imgA = Images.read(new File("金将军.jpg")); BufferedImage imgB = Images.read(new File("大太阳.jpg")); // 正片叠底 BufferedImage imgMultiply = Images.multiply(imgA, imgB, 0, 0); // 输出到文件 Images.write(imgMultiply, new File("大太阳金将军.jpg"));
输出结果图:
大太阳金将军,哈哈,不过这个太阳选的有点不够霸气
当然了,这段代码其实也可以写成一行
Images.write(Images.multiply(Images.read(new File("金将军.jpg")), Images.read(new File("大太阳.jpg")), 0, 0), new File("大太阳金将军.jpg"));
是不是非常简单^_^
图片基本处理
更高级的方法
总结
以上是Java图像处理正片叠底效果的实现代码的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器