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

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

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


Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

jazyk:image [2014/05/16 10:25]
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"​);​ +  ​var obj = scene.getObjectByName("​uniq"​);​ 
-scene.img1986 = getServerResource("​uo_lection_1.png"​);​ +  scene.img1986 = getServerResource("​uo_lection_1.png"​);​ 
-obj.onPress = function()+  obj.onPress = function()
  
  
-+  ​
-  var c = createComposition();​ +    var c = createComposition();​ 
-  var txt = createText(5,​ 5, "​Arial",​ true, true, true, "#​FF0000",​ "​MyText5",​ c); +    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 txt2 = createText(5,​ 35, "​Verdana",​ false, true, true, "#​00FF00",​ "​MyText2",​ c); 
-  var img = imageFromServerResource(30,​ 30, scene.img1986,​ c); +    var img = imageFromServerResource(30,​ 30, scene.img1986,​ c); 
-  this.replaceByGeneratedTexture(0,​ 256, 256, 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;​
  
jazyk/image.1400221502.txt.gz · Последние изменения: 2023/05/08 17:36 (внешнее изменение)