Java 2D Shading / Filling - PullRequest
       22

Java 2D Shading / Filling

4 голосов
/ 20 января 2010

Я создал «шарик» из кривых Безье (скриншот ниже) и теперь хотел бы заштриховать его таким образом, чтобы он выглядел псевдо-3D, с более темным оттенком по всем «левым» краям и более светлым по всем »справа "края и, возможно, чисто белые" световые пятна "на самой поверхности. Например: меня интересует, как добиться затенения, используемого в этом видео .

  • Кто-нибудь может порекомендовать хороший способ добиться этого? Я предполагаю, что стандартные методы Graphics2D.fill и setPaint могут быть недостаточно изощренными.
  • Кроме того, кто-нибудь может порекомендовать хорошие ресурсы (желательно бесплатные / онлайн), чтобы узнать больше об этом?

EDIT

Некоторая дополнительная информация: Чтобы добиться эффекта плоской заливки, приведенного ниже, я создаю объект Area и добавляю к нему отдельные Ellipse2D Shape s, используя add(new Area(ellipse)), а затем наконец добавляю центральную область многоугольника к не оставляйте пустое пространство в середине.

альтернативный текст http://www.freeimagehosting.net/uploads/bc8081cbf2.png

Ответы [ 2 ]

1 голос
/ 20 января 2010

Я использовал пользовательский RadialGradientPaint в этой кинетической модели для получения псевдо-3D-эффекта. Я считаю, что более общая реализация доступна в Java 6.

1 голос
/ 20 января 2010

Приложения для IPhone имеют доступ к OpenGL-ES , который обеспечивает значительную широту затенения и рендеринга того, что в основном является цветной изоповерхностью с излучающим излучением.Java2d определенно не будет достаточно сложным, если вы не захотите написать для него целую библиотеку программного обеспечения 3d.

Смешивание 2d и 3d также возможно .

...