Образовательный виртуальный мир vAcademia

Инструменты пользователя

Инструменты сайта


Боковая панель

Это старая версия документа.


Генерация изображения с произвольной 2D-композицией для замены текстуры на объекте

2D-композиция может содержать в себе несколько текстовых элементов и изображений с различными свойствами. Для того, чтобы создать композицию необходимо вызвать глобальную функцию createComposition, которая вернет объект композиции.

Для того, чтобы добавить в композицию изображение существует функция imageFromServerResource, которая принимает четыре параметра: * x, y изображения относительно левого верхнего угла композиции * серверный ресурс изображений (получаемый через getServerResource) * объект композиции, к которому прикрепляется изображение.

Для того, чтобы добавить в композицию текстовый элемент существует функция createText, которая возвращает объект текстового элемента, принимая 8 параметров: * x, y текста относительно левого верхнего угла композиции * название шрифта, например: Arial * булевый флаг, должен ли текст быть жирным * булевый флаг, должен ли текст быть курсивным * булевый флаг, должен ли текст быть подчеркнутым * цвет шрифта в HTML-стиле, например, #FF00FF * строка с текстом * объект композиции, к которому прикрепляется текстовый элемент

Для того, чтобы добавить в композицию прямоугольник заданного цвета существует функция createColorRect, которая возвращает объект цветового прямоугольника, принимая 6 параметров: * x, y прямоугольника относительно левого верхнего угла композиции * ширина и высота прямоугольника * цвет прямоугольника в HTML-стиле, например, #FF00FF * объект композиции, к которому прикрепляется прямоугольник

Для того, чтобы добавить в композицию линию существует функция createLine, которая возвращает объект линии, принимая 7 параметров: * x, y одного конца линии * x, y второго конца линии * толщина линии * цвет линии в HTML-стиле, например, #FF00FF * объект композиции, к которому прикрепляется линия

Для того, чтобы заменить текстуру на 3D-объекте необходимо вызвать метод 3D-объекта replaceByGeneratedTexture, который возвращает объект изображения, принимая 4 параметра: * номер текстуры в 3D-объекте * ширину генерируемой текстуры * высоту генерируемой текстуры * объект композиции

Если какие-то элементы композиции выходят за границы генерируемой текстуры, они будут отсечены. Последовательность отрисовки 2D-элементов, а соответственно порядок наложения их друга на друга определяется порядком создания 2D-элементов. Композиция после замены текстуры удаляется и не может быть использована повторно.

var obj = scene.getObjectByName(«uniq»); scene.img1986 = getServerResource(«uo_lection_1.png»); obj.onPress = function() var_txt_createtext_5_5_arial_true_true_true

У объекта изображения доступны для последующего изменения нижеперечисленные свойства: * width, height – высота и ширина для отображения. По умолчанию равны ширине и высоте исходного изображения. У объекта изображения и у объекта текстового элемента есть функция getMediaSize(), которая задает объект, возвращающий реальные размеры исходного элемента, например, размер текста или исходный размер изображения.

var img = imageFromServerResource(30, 30, scene.img1986, c); var width = img.getMediaSize().width; var height = img.getMediaSize().height;

jazyk/image.1400221427.txt.gz · Последние изменения: 2023/05/08 17:36 (внешнее изменение)