`

JavaFX学习之Effect

阅读更多
  Effect  抽象类,所有特殊效果的父类。

  Blending 混合效果影响
对node设置blending有二种
node.setBlendMode(BlendMode arg0);  //这只是简单的设置用哪种混合效果模式

Blend blend = new Blend();          //这里可以设置更多的混合效果
blend.setMode(BlendMode.COLOR_BURN);
node.setEffect(Effect value)

Blend的属性
bottomInput,topInput  复合效果处理,设置接下来的效果。 也就说可以对一个node设置多个effect。
Blend没有setInput(Effect effect)方法,因为它涉及二块区域,重叠的部分有上下之分,所以就分为了setBottomInput(Effect value)和setTopInput(Effect value)
mode   采用哪种混合模式,可以看枚举类BlendMode
opacity  透明度

  Bloom 明亮效果,是效果更加明亮
Bloom bloom = new Bloom();
bloom.setThreshold(1.0);  //通过此值,改变明亮效果,值从0到1。默认为0.3
node.setEffect(bloom);

属性
threshold  改变明亮效果
input  复合效果处理,设置接下来的效果

  Blur 模糊效果
BoxBlur bb = new BoxBlur();
bb.setWidth(5);
bb.setHeight(5);
bb.setIterations(3);
node.setEffect(bb);

属性:
height,width BoxBlur模糊效果是往上下左右扩展,所以这里就需要设置,效果展示的宽度和高度。
input 复合效果处理,设置接下来的效果
iterations 值越大效果越模糊,没明白意思
  Min:   0
  Max:   3
  Default:   1
  Identity:   0


MotionBlur mb = new MotionBlur();
mb.setRadius(15.0f);
mb.setAngle(45.0f);
node.setEffect(mb);

属性:
angle
radius
  Min:  0.0
  Max: 63.0
  Default: 10.0
  Identity:  0.0
input

  DropShadow  阴影效果
DropShadow ds = new DropShadow();
ds.setOffsetY(3.0);
ds.setOffsetX(3.0);
ds.setColor(Color.GRAY);
node.setEffect(ds);

属性:
offsetX,offsetY 设置阴影的偏移位置
blurType 设置阴影的模糊类型
color  设置阴影的颜色
spread 阴影传播
  Min: 0.0
  Max: 1.0
  Default: 0.0
  Identity: 0.0
height,width  阴影模糊核心的宽高
input

  InnerShadow 内部阴影效果
InnerShadow is = new InnerShadow();
is.setOffsetX(2.0f);
is.setOffsetY(2.0f);
node.setEffect(is);

属性:
choke   外部阴影是用的spread
input

  Reflection 反射效果
Reflection r = new Reflection();
r.setFraction(0.9);
node.setEffect(r);

属性:
bottomOpacity,topOpacity  反射部分被分成了二半上和下,所以这里有设置下和上的透明度,可以看到默认的反射部分,下部分的透明度和上的不同,那时因为默认值不同,下部分的是0,上部分的是0.5.
fraction  反射显示的比率
topOffset 反射部分距离本体的距离
input

  Lighting 灯光效果
Distant light = new Distant();
light.setAzimuth(-135.0f);
Lighting l = new Lighting();
l.setLight(light);
l.setSurfaceScale(5.0f);
node.setEffect(l);

属性:
bumpInput , contentInput
diffuseConstant
light   light有Light.Distant, Light.Point
specularConstant
specularExponent
surfaceScale 表面的比率因子,效果是更亮,感觉是密度大了, 不明白其意思

  PerspectiveTransform 远景效果
PerspectiveTransform pt = new PerspectiveTransform();
pt.setUlx(10.0f);
pt.setUly(10.0f);
pt.setUrx(210.0f);
pt.setUry(40.0f);
pt.setLrx(210.0f);
pt.setLry(60.0f);
pt.setLlx(10.0f);
pt.setLly(90.0f);
node.setEffect(pt);

属性:
Ulx,Uly,Urx,Ury,Lrx,Lry,Llx,Lly //设置4个点位置,上左,上右,下右,下左
input

ColorAdjust 颜色效果调节
colorAdjust = new ColorAdjust();
colorAdjust.setContrast(0.1);
colorAdjust.setHue(-0.05);
colorAdjust.setBrightness(0.1);
colorAdjust.setSaturation(0.2);
node.setEffect(colorAdjust);

属性:
Contrast  对比
Hue  色彩
Brightness  明亮度
Saturation  饱和度
input

  DisplacementMap  根据指定距离移动每一像素

  Glow 发热效果,一般都是设置图片的效果
imageView.setEffect(new Glow(0.8));  //发热效果
属性:
Level  通过设置改属性调节效果
  Min: 0.0
  Max: 1.0
  Default: 0.3
  Identity: 0.0
input

  SepiaTone 棕褐色调,一般都是设置图片的效果
SepiaTone sepiaTone = new SepiaTone(); //棕褐色调,加在图片上后,感觉很古老
sepiaTone.setLevel(0.7);
imageView.setEffect(sepiaTone);

属性:
Level  通过设置改属性调节效果
  Min: 0.0
  Max: 1.0
  Default: 0.3
  Identity: 0.0
input

  ColorInput  一个矩形加颜色渲染。  不明白这个的用处
ColorInput colorInput = new ColorInput();
colorInput.setPaint(Color.STEELBLUE);
colorInput.setX(10);
colorInput.setY(10);
colorInput.setWidth(100);
colorInput.setHeight(180);

属性:
x,y坐标
width,height 宽高
paint 渲染的颜色

ImageInput  一个图片加颜色渲染
属性
x,y位置
source 源图片


在一个node中,同时加几个效果
setInput(Effect effect);  //大部分effect都有setInput方法,设置接下来的效果影响

   

求评论,求解答,都是自己理解,可能错了,有些也不知道。   

分享到:
评论

相关推荐

    javaFx 学习--之布局菜单

    javaFx 学习--之布局菜单

    javaFX学习资料集

    本资料集包含了最新的JavaFX学习资源,旨在帮助开发者掌握这一强大的技术,以应对日益增长的跨平台应用需求。 JavaFX的核心特性包括: 1. **丰富的UI组件**:JavaFX提供了一套完整的、易于使用的UI控件,如按钮、...

    JavaFX学习之样例8

    这个"JavaFX学习之样例8"可能是一个教程或示例集合,用于教授如何使用JavaFX来创建一个特定的图形元素,比如时钟。在这个例子中,我们可能将学习如何利用JavaFX的图形和动画功能来构建一个可交互的模拟时钟。 首先...

    JavaFX学习资料总结

    JavaFX是一种用于构建桌面、移动和嵌入式设备上的富客户端应用程序的Java库。它提供了丰富的用户界面组件、强大的图形...通过学习和掌握JavaFX,开发者可以充分利用其丰富的特性,创建出具有吸引力和交互性的应用程序。

    JavaFX学习之Preloader

    JavaFX学习之Preloader JavaFX是一个用于创建桌面和移动应用程序的开源图形用户界面(GUI)工具包,它提供了一套丰富的组件、动画效果以及强大的2D和3D图形支持。在开发大型JavaFX应用程序时,为了提升用户体验,...

    javafx学习网站

    1. **JavaFXChina.Net**:该网站是国内知名的 JavaFX 学习资源站点之一,提供大量的教程和技术文档,适合初学者入门以及进阶学习。 - **主要特色**: - **详尽的文档**:涵盖 JavaFX 的各个方面,从基础概念到高级...

    JavaFX教程(学习资料)

    JavaFX教程;JavaFX教程;JavaFX教程JavaFX教程;

    wxh (JavaFX学习曲线日记

    JavaFX学习曲线日记

    javaFx 学习--之Adding Dynamic Behavior(加动态特性源码)

    这通常是学习JavaFX的第一步,通过这个例子,你可以理解如何启动JavaFX应用、创建控件并响应用户操作。 总之,JavaFX的动态行为主要包括事件处理、属性绑定和样式改变等方面。通过熟练掌握这些技术,开发者可以创建...

    javaFx 学习--之组件篇1(边框与布局管理1Label)

    javaFx 学习--之组件篇1(边框与布局管理1Label)

    javafx脚本语言中文学习文档

    javafx语言中文教程,内附代码,有助于学习理解!

    JAVAFX学习教材(英文)

    JavaFx 的官方入门教材,英文

    javaFx 学习--入门示例程序的源码

    在"javaFx 学习--入门示例程序的源码"这个压缩包中,包含了一个名为"helloworld"的文件,这通常是一个初学者接触任何编程语言或库时的第一个示例。 HelloWorld 示例是编程领域的基础,它演示了如何在JavaFX中展示...

    javafx菜单之多级菜单1

    javafx菜单之多级菜单1

    JavaFX2.0之CSS

    JavaFX2.0之CSS JavaFX是一种新兴的技术,用于制作精美的动态画面。本资源主要介绍JavaFX中的CSS样式设计,用于创建样式表和自定义外观设计。 JavaFX CSS是基于W3C的CSS版本2.1和部分扩展的第三版。JavaFX应用程序...

    javafx之可视化效果

    JavaFX 2.0 版本引入了大量的预定义效果,这些效果都包含在 `javafx.scene.effect` 包及其子包中。开发者可以通过调整这些效果类的属性,来实现所需的各种视觉效果。 1. 阴影效果(Drop Shadow Effect) 阴影效果...

    深入学习javaFx脚本语言

    深入学习JavaFX脚本语言,意味着我们将探讨其语法、特性以及如何利用它来构建动态的应用程序。 JavaFX最初引入了一种名为JavaFX Script的专用脚本语言,但后来在JavaFX 2.0中,JavaFX Script被Java API所取代,使得...

    JavaFx 入门文档,JavaFx实例

    本文将深入探讨JavaFX的基础知识,包括其核心概念、开发环境的搭建、基本组件的使用,以及如何通过实例来学习和掌握JavaFX。 首先,JavaFX的核心概念主要包括场景(Scene)、舞台(Stage)、节点(Nodes)和布局...

    JavaFX+Jfoenix 学习笔记(一)--环境搭建及多款Hello World演示源码

    在“JavaFX+Jfoenix 学习笔记(一)--环境搭建及多款Hello World演示源码”中,我们将主要探讨以下几个知识点: 1. **JavaFX环境搭建**: - 安装Java Development Kit (JDK):JavaFX不再包含在标准JDK中,因此需要...

    javafx javafx javafx javafx

    javafx

Global site tag (gtag.js) - Google Analytics