En informática y visualización, un lienzo es un contenedor que contiene varios elementos de dibujo (líneas, formas, texto, marcos que contienen otros elementos, etc.). Toma su nombre del lienzo utilizado en artes visuales. A veces se le llama gráfico de escena porque organiza la representación lógica de una interfaz de usuario o escena gráfica. Algunas implementaciones también definen la representación espacial y permiten al usuario interactuar con los elementos a través de una interfaz gráfica de usuario . [1]
Soporte de biblioteca
Varias bibliotecas de lienzos o gráficos de escenas de código abierto y gratuitas permiten a los desarrolladores construir una interfaz de usuario y / o elementos de interfaz de usuario para sus programas informáticos. [2]
Entre los ejemplos de opciones de lienzo de gráficos de escenas de código abierto y gratuitas se incluyen:
- en C , Evas (en EFL) del proyecto Enlightenment
- en C , Clutter , asociado con el proyecto GNOME
- en C , GTK Scene Graph Kit (GSK)
- en C ++ u opcionalmente en Qt 's propio lenguaje de marcado QML : Qt Quick , proporciona un scenegraph asociado al proyecto Qt
- en C ++ , OpenSceneGraph , una API de gráficos 3D que usa OpenGL
- en C ++ , el motor OGRE , basado en un gráfico de escena, admite múltiples administradores de escena
- en C ++ , OpenSG , un sistema de gráficos de escena para gráficos en tiempo real, con soporte de agrupamiento y seguridad de múltiples subprocesos
- en C ++ , FlightGear Flight Simulator usa un sistema Canvas personalizado ( LGPL 'ed a través de SimGear [3] ) que es acelerado por hardware usando OpenSceneGraph / OpenGL , OpenVG / ShivaVG: [4] El sistema FlightGear Canvas
- en Java , el escenario gráfico de Java FX con funcionalidad 2D y 3D
- en Tcl y otros lenguajes como Perl , Python ( Tkinter [5] ) y Ruby , el kit de herramientas Tk proporciona un
canvas
widget para gráficos 2D [6] [7] - en Tcl [8] y otros lenguajes como Perl [9] y Python , [10] TkZinc es un reemplazo extendido para el lienzo Tk, que agrega soporte para agrupamiento jerárquico, recorte, transformaciones afines, suavizado y elementos específicos para control de tráfico aéreo.
Algunos módulos de lienzo dentro de varias bibliotecas no proporcionan el poder de un gráfico de escena completo; operan a un nivel inferior, lo que requiere que los programadores proporcionen código, como mapear los clics del mouse a los objetos en el lienzo. Ejemplos de bibliotecas que incluyen un módulo de lienzo de este tipo incluyen:
- en C ++ , KDE Plasma Workspaces Corona canvas
- el elemento Canvas en HTML5
- para Java , el lienzo de la biblioteca AWT
- para Java , el Canvas de la biblioteca Java FX [ enlace muerto permanente ]
- para Java , el lienzo de la biblioteca Swing
- para Java , la biblioteca SWT Canvas , asociada con Eclipse
- para JavaScript similar a Java , la biblioteca GWT Canvas
- en C ++ , la biblioteca de papyrus Canvas que se renderiza usando la biblioteca Cairo (gráficos)
- en C , crcanvas , un widget de lienzo GTK que se renderiza usando la biblioteca Cairo (gráficos)
- en C , GooCanvas , un widget de lienzo GTK que se renderiza usando la biblioteca Cairo (gráficos)
Las bibliotecas de lienzo patentadas incluyen, por ejemplo:
- el lienzo de Microsoft Windows Win32
Referencias
- ^ "tk-zinc-3.303 - TkZinc es otro Canvas que propone muchas funciones nuevas, algunas basadas en openGL - metacpan.org" . metacpan.org .
- ^ "Alojamiento de WordPress de Snelle bij mijn.host" . mijn.host . 3 de junio de 2017 . Consultado el 28 de junio de 2019 .
- ^ "Copia archivada" . Archivado desde el original el 7 de diciembre de 2017 . Consultado el 4 de marzo de 2016 .CS1 maint: copia archivada como título ( enlace )
- ^ "Desarrollo de Canvas - FlightGear wiki" . wiki.flightgear.org .
- ^ "Programación GUI con Python: Canvas Widget" . python-course.eu .
- ^ "TkDocs - Tk Tutorial - Canvas" . tkdocs.com .
- ^ "página de manual de lienzo - Comandos integrados de Tk" . tcl.tk .
- ^ "zinc" . wiki.tcl-lang.org .
- ^ "tk-zinc-3.303 - TkZinc es otro Canvas que propone muchas funciones nuevas, algunas basadas en openGL - metacpan.org" . metacpan.org .
- ^ "TkZinc - Python Wiki" . wiki.python.org .