2010-03-05 12 views
10

Estoy buscando una biblioteca de gráficos de alta gama para Java Standard Edition. Conozco algunas bibliotecas de bajo nivel: AWT/Swing, JOGL, SDL. ¿Hay/hay una alternativa?High-End 2D Java (SE) Graphics Library

Mis requisitos son (al menos):

  • anti-alias
  • soporte de pantalla completa
  • canal
  • Alfa
  • modos de mezcla y Z-profundidad
  • Efectos Rasterized: (movimiento) de desenfoque, resplandor, tristeza, etc.

Y, opcionalmente:

  • La aceleración de hardware
  • Los gráficos vectoriales (escala/rotación/traslación en punto flotante de precisión)
  • Bueno documentated, fácil para empezar.

entiendo si no hay bibliotecas/marcos a juego todos los requisitos, si es así, se puede comentar de lo bien que es extensible?

Editar:

¿Hay otras alternativas además de procesamiento? ¿El procesamiento es utilizable (y fácil?) Como una biblioteca?

Respuesta

2

No es realmente una biblioteca de gráficos, sino más bien un applet y gráficos avanzados de biblioteca: PulpCore

Asegúrese de agarrar una versión muy reciente (tal vez incluso buscar la fuente via mercurial y compilarlo usted mismo) porque los efectos de filtro que mencionó (desenfoque, etc.) no están disponibles en versiones anteriores. Sé que podría no ser exactamente lo que estás buscando; no es una alternativa de procesamiento, pero podría ser la mejor opción, dependiendo de lo que planeas hacer.

+0

¡Excelente! ¡Muchas gracias, exactamente lo que necesito! – Pindatjuh

+1

FYI PulpCore ya no parece existir ... – chriswynnyk

+1

@chriswynnyk, lástima. Desde https://code.google.com/p/pulpcore/: PulpCore ya no se mantiene; utilice PlayN o libgdx. – Tedil

3

Tal Procesamiento (homepage) puede ser una buena solución de compromiso.

  • tiene 4 tipos de respaldo, incluyendo OpenGL
  • tiene AA
  • es 2D o 3D
  • que soporta aceleración hw
  • soporta transformaciones
  • su sintaxis es bastante fácil de aprender
  • es fácil de integrar
  • todo lo que hay que aprender es en this página
+0

¿Se puede usar el procesamiento como una biblioteca? – Pindatjuh

4

Todos los efectos que solicite se pueden hacer con Java 2D de forma bastante simple y Java2D es hasta cierto punto acelerado por hardware. El libro Filthy Rich Clients muestra cómo implementar todos estos efectos y muchos otros. Painters en el SwingX también ha implementado varios de estos efectos.

Otra posibilidad es JavaFx. Tiene muchos efectos incorporados. Hace un año y medio cuando lo probé, todavía era un poco lento, pero al menos una versión se ha lanzado desde entonces. Puede ser más eficiente ahora. Está construido sobre Java2D, por lo que debería poder aprovechar la aceleración de hardware en Java2D.

En cuanto a soporte de pantalla completa here's more information.