В информатике и визуализации холст - это контейнер , содержащий различные элементы рисования (линии, фигуры, текст, рамки, содержащие другие элементы, и т. Д.). Он получил свое название от холста, используемого в изобразительном искусстве. Иногда его называют графом сцены, потому что он упорядочивает логическое представление пользовательского интерфейса или графической сцены. Некоторые реализации также определяют пространственное представление и позволяют пользователю взаимодействовать с элементами через графический интерфейс пользователя . [1]
Поддержка библиотеки [ править ]
Различные бесплатные библиотеки холста или графа сцены с открытым исходным кодом позволяют разработчикам создавать пользовательский интерфейс и / или элементы пользовательского интерфейса для своих компьютерных программ. [2]
Примеры бесплатных и открытых вариантов холста графа сцены включают в себя:
- на C , Evas (на EFL) из проекта Просвещения
- в C , Clutter , связанный с проектом GNOME
- в C , GTK Scene Graph Kit (GSK)
- в C ++ или необязательно в Qt собственного языка разметки «S QML : Qt Quick , обеспечивает дерева сцены , связанные с проектом Qt
- в C ++ - OpenSceneGraph , API трехмерной графики с использованием OpenGL
- в C ++ , то OGRE двигатель, основанный на графе сцены, поддерживает несколько менеджеров сцен
- в C ++ - OpenSG , система графов сцен для графики в реальном времени, с поддержкой кластеризации и многопоточной безопасностью
- в C ++ , то FlightGear Flight Simulator использует пользовательскую систему Canvas ( LGPL - е изд « с помощью SimGear [3] ) , что аппаратное ускорение с помощью OpenSceneGraph / OpenGL , OpenVG / ShivaVG: [4] Система FlightGear Холст
- в Java - граф сцены Java FX с функциями 2D и 3D.
- в Tcl и других языках, таких как Perl , Python ( Tkinter [5] ) и Ruby , инструментарий Tk предоставляет
canvas
виджет для 2D-графики [6] [7] - в Tcl [8] и других языках, таких как Perl [9] и Python , [10] TkZinc является расширенной заменой холста Tk, который добавляет поддержку иерархической группировки, отсечения, аффинных преобразований, сглаживания и специальных элементов для управления воздушным движением.
Некоторые модули холста в различных библиотеках не обеспечивают возможности полного графа сцены - они работают на более низком уровне, что требует от программистов предоставления кода, такого как сопоставление щелчков мыши с объектами на холсте. Примеры библиотек, которые включают такой модуль холста, включают:
- в C ++ , KDE Plasma Workspaces Corona Canvas
- элемент холста в HTML5
- для Java - библиотека AWT Canvas
- для Java - библиотека Java FX Canvas [ постоянная мертвая ссылка ]
- для Java - библиотека Swing Canvas
- для Java - библиотека SWT Canvas , связанная с Eclipse.
- для Java -like JavaScript , в GWT библиотеки Canvas
- в C ++ , то папируса Холст библиотека , которая оказывает с помощью Cairo (графика) Библиотека
- в C - crcanvas , виджет холста GTK, который отрисовывается с использованием библиотеки Cairo (графика).
- в C - GooCanvas , виджет холста GTK, который отрисовывается с использованием библиотеки Cairo (графика).
Проприетарные библиотеки холста включают, например:
- Microsoft Windows Win32 Canvas
Ссылки [ править ]
- ^ "tk-zinc-3.303 - TkZinc - еще один Canvas, который предлагает множество новых функций, некоторые из которых основаны на openGL - metacpan.org" . metacpan.org .
- ^ "Хостинг Snelle WordPress bij mijn.host" . mijn.host . 3 июня 2017 . Проверено 28 июня 2019 . CS1 maint: обескураженный параметр ( ссылка )
- ^ "Архивная копия" . Архивировано из оригинала на 2017-12-07 . Проверено 4 марта 2016 .CS1 maint: archived copy as title (link)
- ^ "Canvas Development - FlightGear wiki" . wiki.flightgear.org .
- ^ «Программирование графического интерфейса пользователя с Python: виджет Canvas» . python-course.eu .
- ^ "TkDocs - Tk Tutorial - Canvas" . tkdocs.com .
- ^ "Справочная страница холста - Встроенные команды Tk" . tcl.tk .
- ^ "цинк" . wiki.tcl-lang.org .
- ^ "tk-zinc-3.303 - TkZinc - еще один Canvas, который предлагает множество новых функций, некоторые из которых основаны на openGL - metacpan.org" . metacpan.org .
- ^ "TkZinc - Python Wiki" . wiki.python.org .