📅  最后修改于: 2023-12-03 15:16:03.558000             🧑  作者: Mango
JavaFX 中提供了一系列的颜色调整类来帮助开发人员进行颜色处理操作。这些类可用于颜色调整、滤镜等操作。
ColorAdjust
类可用于调整颜色的属性,如亮度、对比度、饱和度和色调。
ColorAdjust colorAdjust = new ColorAdjust();
colorAdjust.setBrightness(0.2);
colorAdjust.setContrast(0.5);
colorAdjust.setHue(0.1);
colorAdjust.setSaturation(0.1);
node.setEffect(colorAdjust);
Blend
类可用于混合不同的颜色。
Blend blend = new Blend();
blend.setMode(BlendMode.DIFFERENCE);
blend.setBottomInput(bottom);
blend.setTopInput(top);
node.setEffect(blend);
DisplacementMap
类可用于基于图像的值调整输入图像中颜色的位置。属于一种基于二维柏松分布的像素调整。可以使仿佛存在摆动波浪一样的变形效果,也可以设计波纹、扭曲等特效。
DisplacementMap displacementMap = new DisplacementMap();
displacementMap.setWrap(WrapMode. CLAMP);
displacementMap.setScale(10);
displacementMap.setInput(sourceImage);
node.setEffect(displacementMap);
GaussianBlur
类可用于将图像或文本模糊化,可以用于模糊文字或模糊图像等效果。
GaussianBlur blur = new GaussianBlur();
blur.setRadius(10);
node.setEffect(blur);
InnerShadow
类可用于在目标显示区域的内部控制渐变,制造出光亮感。
InnerShadow innerShadow = new InnerShadow();
innerShadow.setColor(Color.GRAY);
innerShadow.setRadius(5);
node.setEffect(innerShadow);
Lighting
类可用于根据光源和表面属性实现照明效果,制造视觉的阴影假象,也可以用于特殊场合中的高光亮度效果,如出现在运动中的光球、光带等场合。
Light.Distant light = new Light.Distant();
light.setAzimuth(-135.0f);
Lighting lighting = new Lighting();
lighting.setLight(light);
lighting.setSurfaceScale(5);
node.setEffect(lighting);
以上就是 JavaFX 中的颜色调整类,这些类可用于各种颜色调整、滤镜等操作,使图形效果变得更加精美。