当前位置: 首页 > news >正文

手机网站一键分享到微信廊坊网站建设技术托管

手机网站一键分享到微信,廊坊网站建设技术托管,嘉兴有能做网站优化,有什么网站可以接活做设计翻译自 Applying Effects 创建视觉效果包含以下主题#xff1a; 混合效果 绽放效果 模糊效果 投影效果 内阴影效果 反射 照明效果 透视效果 创建一系列效果 介绍如何使用视觉效果来增强JavaFX应用程序的外观。 所有效果都位于javafx.scene.effect包中#xff0c;…翻译自  Applying Effects 创建视觉效果包含以下主题 混合效果 绽放效果 模糊效果 投影效果 内阴影效果 反射 照明效果 透视效果 创建一系列效果 介绍如何使用视觉效果来增强JavaFX应用程序的外观。 所有效果都位于javafx.scene.effect包中并且是类的子Effect类。有关特定类方法或其他功能的更多信息请参阅API文档。 混合效果 混合是一种效果它使用一种预定义的混合模式将两个输入组合在一起。 在节点blendnode.setBlendMode()的情况下两个输入是 正在渲染的节点顶部输入 节点下面的所有内容底部输入 底部输入的确定基于以下规则 包括同一组中的所有较低Z阶兄弟姐妹。 如果组具有已定义的混合模式则该过程停止并定义底部输入。 如果该组具有默认混合模式则包含该组下面的所有内容使用相同的规则递归。 如果进程递归返回到根节点则包含场景的背景绘制。 注意 如果场景的背景颜色通常是不透明的颜色包含在底部输入中则SRC_ATOP模式渲染在完全不透明的底部源上并且没有效果。在这种情况下SRC_ATOP模式相当于SRC_OVER。 混合模式定义了对象混合在一起的方式。例如在图5-1中您可以看到应用于与方形分组的圆的某些混合模式的示例。 图5-1不同的混合模式 示例5-1显示了示例应用程序中混合效果的代码片段。 例5-1混合效果 static Node blendMode() {Rectangle r new Rectangle();r.setX(590);r.setY(50);r.setWidth(50);r.setHeight(50);r.setFill(Color.BLUE);Circle c new Circle();c.setFill(Color.RED);c.setCenterX(590);c.setCenterY(50);c.setRadius(25);c.setBlendMode(BlendMode.SRC_ATOP);Group g new Group();g.setBlendMode(BlendMode.SRC_OVER);g.getChildren().add(r);g.getChildren().add(c);return g;} 绽放效果 基于可配置的阈值布隆效果使图像看起来发光的部分更亮。阈值从0.0到1.0不等。默认情况下阈值设置为0.3。 图5-2显示了默认阈值和阈值1.0下的bloom效果。 图5-2绽放效果 示例5-2显示了使用bloom效果的示例应用程序的代码片段。 例5-2 Bloom示例 static Node bloom() {Group g new Group();Rectangle r new Rectangle();r.setX(10);r.setY(10);r.setWidth(160);r.setHeight(80);r.setFill(Color.DARKBLUE);Text t new Text();t.setText(Bloom!);t.setFill(Color.YELLOW);t.setFont(Font.font(null, FontWeight.BOLD, 36));t.setX(25);t.setY(65);g.setCache(true);//g.setEffect(new Bloom());Bloom bloom new Bloom();bloom.setThreshold(1.0);g.setEffect(bloom);g.getChildren().add(r);g.getChildren().add(t);g.setTranslateX(350);return g;} 模糊效果 模糊是可用于为所选对象提供更多焦点的常见效果。使用JavaFX您可以应用bo​​xblur运动模糊或高斯模糊。 BoxBlur BoxBlur是一种模糊效果它使用简单的盒式滤镜内核在两个维度中可单独配置大小以控制应用于对象的模糊量以及Iterations控制结果模糊质量的参数。 图5-3显示了两个模糊文本样本。 图5-3 BoxBlur效果 示例5-3是使用BoxBlur效果的代码段。 例5-3 BoxBlur示例 static Node boxBlur() {Text t new Text();t.setText(Blurry Text!);t.setFill(Color.RED);t.setFont(Font.font(null, FontWeight.BOLD, 36));t.setX(10);t.setY(40);BoxBlur bb new BoxBlur();bb.setWidth(5);bb.setHeight(5);bb.setIterations(3);t.setEffect(bb);t.setTranslateX(300);t.setTranslateY(100);return t;} 运动模糊 运动模糊效果使用高斯模糊具有可配置的半径和角度以创建移动对象的效果。 图5-4显示了运动模糊对文本的影响。 图5-4运动模糊效果 示例5-4显示了一个代码片段该示例代码片段在示例应用程序中创建半径设置为15且角度设置为45的运动模糊效果。 例5-4运动模糊示例 static Node motionBlur() {Text t new Text();t.setX(20.0f);t.setY(80.0f);t.setText(Motion Blur);t.setFill(Color.RED);t.setFont(Font.font(null, FontWeight.BOLD, 60));MotionBlur mb new MotionBlur();mb.setRadius(15.0f);mb.setAngle(45.0f);t.setEffect(mb);t.setTranslateX(300);t.setTranslateY(150);return t;} 高斯模糊 高斯模糊是使用具有可配置半径的高斯算法来模糊对象的效果。 图5-5显示了高斯模糊对文本的影响。 图5-5高斯模糊 例5-5显示了使用高斯模糊效果模糊文本的代码片段。 例5-5高斯模糊 static Node gaussianBlur() {Text t2 new Text();t2.setX(10.0f);t2.setY(140.0f);t2.setCache(true);t2.setText(Gaussian Blur);t2.setFill(Color.RED);t2.setFont(Font.font(null, FontWeight.BOLD, 36));t2.setEffect(new GaussianBlur());return t2;} 投影效果 投影是一种效果可以呈现应用它的内容的阴影。您可以指定阴影的颜色半径偏移和一些其他参数。 图5-6显示了不同对象的阴影效果。 图5-6投影示例 例5-6显示了如何在文本和圆上创建阴影。 例5-6带阴影的文本和圆圈 import javafx.collections.ObservableList; import javafx.application.Application; import javafx.scene.*; import javafx.stage.*; import javafx.scene.shape.*; import javafx.scene.effect.*; import javafx.scene.paint.*; import javafx.scene.text.*;public class HelloEffects extends Application {Stage stage;Scene scene;Override public void start(Stage stage) {stage.show();scene new Scene(new Group(), 840, 680);ObservableListNode content ((Group)scene.getRoot()).getChildren();content.add(dropShadow()); stage.setScene(scene);}static Node dropShadow() {Group g new Group();DropShadow ds new DropShadow();ds.setOffsetY(3.0);ds.setOffsetX(3.0);ds.setColor(Color.GRAY);Text t new Text();t.setEffect(ds);t.setCache(true);t.setX(20.0f);t.setY(70.0f);t.setFill(Color.RED);t.setText(JavaFX drop shadow effect);t.setFont(Font.font(null, FontWeight.BOLD, 32));DropShadow ds1 new DropShadow();ds1.setOffsetY(4.0f);ds1.setOffsetX(4.0f);ds1.setColor(Color.CORAL);Circle c new Circle();c.setEffect(ds1);c.setCenterX(50.0f);c.setCenterY(325.0f);c.setRadius(30.0f);c.setFill(Color.RED);c.setCache(true);g.getChildren().add(t);g.getChildren().add(c);return g;}public static void main(String[] args) {Application.launch(args);} } 提示 使阴影太宽使元素看起来沉重。阴影的颜色应该是真实的通常比背景颜色浅一些。 如果您有多个具有阴影的对象请为所有对象定义相同的阴影。投影会给出来自一个方向的光的外观并在物体上投射阴影。 内阴影效果 内部阴影是一种效果可以使用指定的颜色半径和偏移量在给定内容的边缘内渲染阴影。 图5-7显示了纯文本和应用了内部阴影效果的相同文本。 图5-7内阴影 例5-7显示了如何在文本上创建内部阴影。 例5-7内阴影 static Node innerShadow() {InnerShadow is new InnerShadow();is.setOffsetX(2.0f);is.setOffsetY(2.0f);Text t new Text();t.setEffect(is);t.setX(20);t.setY(100);t.setText(Inner Shadow);t.setFill(Color.RED);t.setFont(Font.font(null, FontWeight.BOLD, 80));t.setTranslateX(300);t.setTranslateY(300);return t;} 反射 反射是一种效果它将对象的反射版本呈现在实际对象下方。 注意 具有反射效果的节点的反射将不响应节点上的鼠标事件或包含方法。 图5-8显示了应用于文本的反射。使用此setFraction方法指定可见反射的量。 图5-8反射效果 例5-8显示了如何在文本上创建反射效果。 示例5-8带反射的文本 import javafx.scene.text.*; import javafx.scene.paint.*; import javafx.scene.effect.*; public class HelloEffects extends Application {Stage stage;Scene scene;Override public void start(Stage stage) {stage.show();scene new Scene(new Group(), 840, 680);ObservableListNode content ((Group)scene.getRoot()).getChildren();content.add(reflection());stage.setScene(scene);}static Node reflection() {Text t new Text();t.setX(10.0f);t.setY(50.0f);t.setCache(true);t.setText(Reflection in JavaFX...);t.setFill(Color.RED);t.setFont(Font.font(null, FontWeight.BOLD, 30));Reflection r new Reflection();r.setFraction(0.9);t.setEffect(r);t.setTranslateY(400);return t;}public static void main(String[] args) {Application.launch(args);} } 照明效果 照明效果模拟照射在给定内容上的光源其可用于使平面物体具有更逼真的三维外观。 图5-9显示了文本的照明效果。 图5-9照明效果 例5-9显示了如何在文本上创建光照效果。 示例5-9带有应用光照效果的文本 import javafx.application.Application; import javafx.collections.ObservableList; import javafx.geometry.VPos; import javafx.scene.effect.Light.Distant; import javafx.scene.*; import javafx.stage.*; import javafx.scene.shape.*; import javafx.scene.effect.*; import javafx.scene.paint.*; import javafx.scene.text.*;public class HelloEffects extends Application {Stage stage;Scene scene;Override public void start(Stage stage) {stage.show();scene new Scene(new Group());ObservableListNode content ((Group)scene.getRoot()).getChildren();content.add(lighting());stage.setScene(scene); }static Node lighting() {Distant light new Distant();light.setAzimuth(-135.0f);Lighting l new Lighting();l.setLight(light);l.setSurfaceScale(5.0f);Text t new Text();t.setText(JavaFX\nLighting!);t.setFill(Color.RED);t.setFont(Font.font(null, FontWeight.BOLD, 70));t.setX(10.0f);t.setY(10.0f);t.setTextOrigin(VPos.TOP);t.setEffect(l);t.setTranslateX(0);t.setTranslateY(320);return t;}public static void main(String[] args) {Application.launch(args);} } 透视效果 透视效果创建了二维对象的三维效果。 透视效果如图5-10所示。 图5-10透视效果 透视变换可以将任何正方形映射到另一个正方形同时保持线条的直线度。与仿射变换不同源中的行的并行性不一定保留在输出中。 注意 此效果不会调整输入事件的坐标或测量节点上的包含的任何方法。如果将透视效果应用于节点则鼠标单击和包含方法未定义。 示例5-10是示例应用程序中的代码片段显示了如何创建透视效果。 例5-10透视效果 static Node perspective() {Group g new Group();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);g.setEffect(pt);g.setCache(true);Rectangle r new Rectangle();r.setX(10.0f);r.setY(10.0f);r.setWidth(280.0f);r.setHeight(80.0f);r.setFill(Color.DARKBLUE);Text t new Text();t.setX(20.0f);t.setY(65.0f);t.setText(Perspective);t.setFill(Color.RED);t.setFont(Font.font(null, FontWeight.BOLD, 36));g.getChildren().add(r);g.getChildren().add(t);return g;} 图5-11显示了哪些坐标会影响生成的图像。 图5-11透视效果的坐标 创建一系列效果 某些效果具有可用于创建效果链的输入属性。效果链可以是树状结构因为一些效果有两个输入而一些没有任何输入。 在图5-12中反射效果用作投影效果的输入这意味着首先由反射效果反射矩形然后将阴影效果应用于结果。 图5-12阴影和反射 例5-11带阴影和反射顺序应用的矩形 import javafx.application.Application; import javafx.collections.ObservableList; import javafx.scene.*; import javafx.stage.*; import javafx.scene.shape.*; import javafx.scene.effect.*; import javafx.scene.paint.*; import javafx.scene.text.*;public class HelloEffects extends Application {Stage stage;Scene scene;Override public void start(Stage stage) {stage.show();scene new Scene(new Group());ObservableListNode content ((Group)scene.getRoot()).getChildren();content.add(chainEffects());stage.setScene(scene);}static Node chainEffects() {Rectangle rect new Rectangle();rect.setFill(Color.RED);rect.setWidth(200);rect.setHeight(100);rect.setX(20.0f);rect.setY(20.0f);DropShadow ds new DropShadow();ds.setOffsetY(5.0);ds.setOffsetX(5.0);ds.setColor(Color.GRAY);Reflection reflection new Reflection();ds.setInput(reflection); rect.setEffect(ds);return rect;}public static void main(String[] args) {Application.launch(args);} } 注意 如果将chainEffects()方法中的最后两行更改为reflection.setInput(ds);和rect.setEffect(reflection);则首先将阴影应用于矩形然后结果将反射效果反映出来。 有关特定类方法或其他功能的更多信息请参阅API文档。 应用文件 NetBeans项目  visual_effects.zip
http://www.zqtcl.cn/news/589545/

相关文章:

  • 企业微信网站怎么建设山东有哪些网络公司
  • 做任务领佣金的网站源码页面设计参评
  • 淘宝联盟个人网站怎么做企业年度报告公示系统
  • 长沙企业网页设计哪家专业网站优化seo
  • 网站设计 西安漂亮企业网站源码
  • 云南省科技网站网页设计师有前途吗
  • 漳州网站开发找出博大科技慈溪市建设局网站表格下载
  • 网站到期怎么续费公司网站asp源码
  • 多个域名 一个网站域名解析官网
  • 中国建设银行企业网站旅游网页代码模板
  • 湛江免费企业建站wordpress archives
  • 建个企业网站多少钱图书管理系统网站开发教程
  • 淘宝客网站建设详细教程wordpress转dz
  • 银川网站推广i深建官方网站
  • 有什么较好的网站开发框架娱乐网站模板
  • 宿迁网站建设托管wordpress 萝莉
  • 定制网站开发冬天里的白玫瑰制作复杂的企业网站首页
  • 网站开发及设计演讲海报免费做网站app下载
  • 做动态图片的网站吗自考网站建设与实践
  • 建外贸网站需要多少钱胖咯科技 网站建设
  • wordpress注明网站做微网站的第三方登录
  • 学网站建设维护网站公司建设公司
  • 做小型网站的公司wordpress 主题上传
  • 网站之家查询重庆市建设项目环境申报表网站
  • 网站建设基础及流程网站运营一个月多少钱
  • 南沙免费网站建设wordpress邮箱注册
  • 网站关键字优化软件网络营销推广方式包括?
  • 专做装修的网站pc端好玩的大型网游
  • 洞泾网站建设网易考拉的网站建设
  • 网站建设的市场调研杭州网络公司项目合作