Wing的小站

  • 首页
  • IT新闻
  • 技术文章
  • 生活随笔
  • 休闲娱乐
  • 个人作品
  • 留言板
  • 关于博主
JavaFX,Unity3D,Android,IOS,技术教程,生活随笔
  1. 首页
  2. 技术文章
  3. 正文

JavaFX ImageView实现裁剪效果

2015年11月24日 8880点热度 0人点赞 0条评论

在JavaFX中,我们有时候需要实现裁剪效果,这个时候我们可以使用ImageView的setClip方法来实现。

如下所示:

Image srcImage = new Image(getClass().getResource("test.png").toString());
ImageView imageView = new ImageView(srcImage);
Rectangle clip = new Rectangle(
       srcImage.getWidth(), srcImage.getHeight()
);
clip.setArcWidth(15);
clip.setArcHeight(15);
imageView.setClip(clip);

我们首先在ImageView中载入了一个Image,然后通过Image的大小创建了一个Rectangle,设置了圆角,并通过imageView的setClip方法应用到ImageView中。

效果如下:

大家可以看到圆角的效果,但是另外,倘若我们需要加上阴影等的特效的话,必须将clip设置为空,这样就需要我们重新拷贝Image了,代码如下:

SnapshotParameters parameters = new SnapshotParameters();
parameters.setFill(Color.TRANSPARENT);
WritableImage image = imageView.snapshot(parameters, null);
imageView.setClip(null);
imageView.setEffect(new DropShadow(20, Color.BLACK));
imageView.setImage(image);

我们通过Node的snapshot方法截图并讲clip设为空,然后重新设置了Image,并加上阴影效果。

效果如下:

这样大家可以看到阴影效果了。


最近比较忙,一直没有写博客。恩,在给别人改网站,公司有项目,自己还要做App,所以博客和邮箱都没有看,因为有人发邮件问了问题的,就趁机顺便写一下博客。

虽然忙了,但自己觉得还是比较充实的,人啊,有时候还是需要忙一点,才能找回工作的激情。

标签: javafx 裁剪
最后更新:2017年4月14日

wing1314

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 Wing的小站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鄂ICP备17006951号-1

42011102000591