Java 2D着色/填充

时间:2010-01-20 11:27:31

标签: java algorithm graphics java-2d

我已经从Bezier曲线创建了一个“blob”(下面的屏幕截图),现在想要以这样的方式对它进行着色,使其显示为伪3D,所有“左”边缘都有较暗的阴影,所有“右边”都较亮“边缘,也许是表面本身的纯白色”光点“。例如:我对如何实现this video中使用的着色感兴趣。

  • 有人可以推荐一个很好的方法来实现这个目标吗?我猜测标准的Graphics2D.fill和setPaint方法可能不够复杂。
  • 此外,任何人都可以推荐一些好的资源(最好是免费/在线)来了解更多信息吗?

修改

一些其他信息:为了实现下面的平面填充效果,我创建了一个Area对象,并使用Ellipse2D向其中添加了Shape add(new Area(ellipse))个然后最后添加中心多边形区域以避免在中间留下空白区域。

alt text http://www.freeimagehosting.net/uploads/bc8081cbf2.png

2 个答案:

答案 0 :(得分:1)

iPhone应用程序可以访问OpenGL-ES,这允许在着色和渲染基本上是具有自发光照明的彩色等值面的显着宽容度。除非你愿意为它编写一个完整的软件3d库,否则Java2d肯定不够复杂。

混合2d和3d也是possible

答案 1 :(得分:1)

我在此RadialGradientPaint中使用自定义kineic model来获取伪3D效果。我相信Java 6中提供了更通用的implementation