Здесь показаны различия между двумя версиями данной страницы.
jazyk:image [2014/05/16 10:24] vadmin |
jazyk:image [2023/05/08 17:44] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | {{indexmenu_n>11}} | ||
=====Генерация изображения с произвольной 2D-композицией для замены текстуры на объекте===== | =====Генерация изображения с произвольной 2D-композицией для замены текстуры на объекте===== | ||
Строка 4: | Строка 5: | ||
Для того, чтобы добавить в композицию изображение существует функция imageFromServerResource, которая принимает четыре параметра: | Для того, чтобы добавить в композицию изображение существует функция imageFromServerResource, которая принимает четыре параметра: | ||
- | * x, y изображения относительно левого верхнего угла композиции | + | * x, y изображения относительно левого верхнего угла композиции; |
- | * серверный ресурс изображений (получаемый через getServerResource) | + | * серверный ресурс изображений (получаемый через getServerResource); |
- | * объект композиции, к которому прикрепляется изображение. | + | * объект композиции, к которому прикрепляется изображение. |
Для того, чтобы добавить в композицию текстовый элемент существует функция createText, которая возвращает объект текстового элемента, принимая 8 параметров: | Для того, чтобы добавить в композицию текстовый элемент существует функция createText, которая возвращает объект текстового элемента, принимая 8 параметров: | ||
- | * x, y текста относительно левого верхнего угла композиции | + | * x, y текста относительно левого верхнего угла композиции; |
- | * название шрифта, например: Arial | + | * название шрифта, например: Arial; |
- | * булевый флаг, должен ли текст быть жирным | + | * булевый флаг, должен ли текст быть жирным; |
- | * булевый флаг, должен ли текст быть курсивным | + | * булевый флаг, должен ли текст быть курсивным; |
- | * булевый флаг, должен ли текст быть подчеркнутым | + | * булевый флаг, должен ли текст быть подчеркнутым; |
- | * цвет шрифта в HTML-стиле, например, #FF00FF | + | * цвет шрифта в HTML-стиле, например, #FF00FF; |
- | * строка с текстом | + | * строка с текстом; |
- | * объект композиции, к которому прикрепляется текстовый элемент | + | * объект композиции, к которому прикрепляется текстовый элемент. |
Для того, чтобы добавить в композицию прямоугольник заданного цвета существует функция createColorRect, которая возвращает объект цветового прямоугольника, принимая 6 параметров: | Для того, чтобы добавить в композицию прямоугольник заданного цвета существует функция createColorRect, которая возвращает объект цветового прямоугольника, принимая 6 параметров: | ||
- | * x, y прямоугольника относительно левого верхнего угла композиции | + | * x, y прямоугольника относительно левого верхнего угла композиции; |
- | * ширина и высота прямоугольника | + | * ширина и высота прямоугольника; |
- | * цвет прямоугольника в HTML-стиле, например, #FF00FF | + | * цвет прямоугольника в HTML-стиле, например, #FF00FF; |
- | * объект композиции, к которому прикрепляется прямоугольник | + | * объект композиции, к которому прикрепляется прямоугольник. |
Для того, чтобы добавить в композицию линию существует функция createLine, которая возвращает объект линии, принимая 7 параметров: | Для того, чтобы добавить в композицию линию существует функция createLine, которая возвращает объект линии, принимая 7 параметров: | ||
- | * x, y одного конца линии | + | * x, y одного конца линии; |
- | * x, y второго конца линии | + | * x, y второго конца линии; |
- | * толщина линии | + | * толщина линии; |
- | * цвет линии в HTML-стиле, например, #FF00FF | + | * цвет линии в HTML-стиле, например, #FF00FF; |
- | * объект композиции, к которому прикрепляется линия | + | * объект композиции, к которому прикрепляется линия. |
Для того, чтобы заменить текстуру на 3D-объекте необходимо вызвать метод 3D-объекта | Для того, чтобы заменить текстуру на 3D-объекте необходимо вызвать метод 3D-объекта | ||
replaceByGeneratedTexture, который возвращает объект изображения, принимая 4 параметра: | replaceByGeneratedTexture, который возвращает объект изображения, принимая 4 параметра: | ||
- | * номер текстуры в 3D-объекте | + | * номер текстуры в 3D-объекте; |
- | * ширину генерируемой текстуры | + | * ширину генерируемой текстуры; |
- | * высоту генерируемой текстуры | + | * высоту генерируемой текстуры; |
- | * объект композиции | + | * объект композиции. |
Если какие-то элементы композиции выходят за границы генерируемой текстуры, они будут отсечены. Последовательность отрисовки 2D-элементов, а соответственно порядок наложения их друга на друга определяется порядком создания 2D-элементов. Композиция после замены текстуры удаляется и не может быть использована повторно. | Если какие-то элементы композиции выходят за границы генерируемой текстуры, они будут отсечены. Последовательность отрисовки 2D-элементов, а соответственно порядок наложения их друга на друга определяется порядком создания 2D-элементов. Композиция после замены текстуры удаляется и не может быть использована повторно. | ||
- | { | ||
- | var obj = scene.getObjectByName("uniq"); | ||
- | scene.img1986 = getServerResource("uo_lection_1.png"); | ||
- | obj.onPress = function() | ||
- | } | ||
- | { | + | var obj = scene.getObjectByName("uniq"); |
- | var c = createComposition(); | + | scene.img1986 = getServerResource("uo_lection_1.png"); |
- | var txt = createText(5, 5, "Arial", true, true, true, "#FF0000", "MyText5", c); | + | obj.onPress = function() |
- | var txt2 = createText(5, 35, "Verdana", false, true, true, "#00FF00", "MyText2", c); | + | |
- | var img = imageFromServerResource(30, 30, scene.img1986, c); | + | |
- | this.replaceByGeneratedTexture(0, 256, 256, c); | + | { |
- | } | + | var c = createComposition(); |
+ | var txt = createText(5, 5, "Arial", true, true, true, "#FF0000", "MyText5", c); | ||
+ | var txt2 = createText(5, 35, "Verdana", false, true, true, "#00FF00", "MyText2", c); | ||
+ | var img = imageFromServerResource(30, 30, scene.img1986, c); | ||
+ | this.replaceByGeneratedTexture(0, 256, 256, c); | ||
+ | } | ||
У объекта изображения доступны для последующего изменения нижеперечисленные свойства: | У объекта изображения доступны для последующего изменения нижеперечисленные свойства: | ||
- | * width, height – высота и ширина для отображения. По умолчанию равны ширине и высоте исходного изображения. | + | * width, height – высота и ширина для отображения. По умолчанию равны ширине и высоте исходного изображения. |
У объекта изображения и у объекта текстового элемента есть функция getMediaSize(), которая задает объект, возвращающий реальные размеры исходного элемента, например, размер текста или исходный размер изображения. | У объекта изображения и у объекта текстового элемента есть функция getMediaSize(), которая задает объект, возвращающий реальные размеры исходного элемента, например, размер текста или исходный размер изображения. | ||
- | { | + | |
- | var img = imageFromServerResource(30, 30, scene.img1986, c); | + | var img = imageFromServerResource(30, 30, scene.img1986, c); |
- | var width = img.getMediaSize().width; | + | var width = img.getMediaSize().width; |
- | var height = img.getMediaSize().height; | + | var height = img.getMediaSize().height; |
- | } | + |