Показать сообщение отдельно
Старый 04.04.2015, 14:38
LighFusion вне форума Посмотреть профиль Отправить личное сообщение для LighFusion Найти все сообщения от LighFusion
  № 1  
Ответить с цитированием
LighFusion

Регистрация: Mar 2015
Сообщений: 14
По умолчанию RadialGradient из SVG(FLA), Для MXML(FLEX)

Приветствую, довольно простенький вопрос - наверное к тем кто хорошо шарит, но в гугле я почему то ничего нормального не нашел - по этому поводу.

Имеется такой вот градиент
,
не могу понять как он подключается в ActionScript, ибо скачал эту штуку из интернета(и там она просто как shape1.svg, каким то образом присваивается в fla(смотрел в FlashProfessional), и не ясно - как этот градиент применить к компоненту Flex - mxml,
То есть если использовать такой вот метод
Код AS3:
		<mx:Script>
		<![CDATA[
			[Embed(source="/shape1.svg")]
			[Bindable]
			public var table:Class;
		]]>
	</mx:Script>
 
	<s:Image source="{table}" width="{table.width}" height="{table.height}" verticalCenter="0" horizontalCenter="0" scaleMode="stretch" smooth="true" smoothingQuality="high"/>
То градиент просто растягивается как картинка - на всю длину, а не используется как фон градиента, как если бы это был метод
Код AS3:
<mx:Application backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#CFC4C4, #1E254A]"  >
для MX Application container

Каким образом возможно подключить SVG, к MXML, именно как градиент фона, ну или как можно эти значения градиента -
Код AS3:
<g id="0" transform="matrix(1, 0, 0, 1, -2, -38)">
<radialGradient
id="RadialGradID_1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.594543, 0, 0, 0.594543, 300.45, 362.1)" spreadMethod ="pad" cx="0" cy="0" r="819.2" fx="0" fy="0" >
<stop  offset="0"  style="stop-color:#444444;stop-opacity:1" />
<stop  offset="1"  style="stop-color:#000000;stop-opacity:1" />
</radialGradient>
<path style="fill:url(#RadialGradID_1) " d="M598.95,38L598.95 499L2 499L2 38L598.95 38" />
</g>
правильно преобразовать под MXML BackgroundGradientColors.
?

Добавлено через 30 часов 44 минуты
Ну что кто-нибудь поможет ?
Я конечно понимаю что можно заюзать - все не через MXML(Flex), А через ActionScript, и доделать дополнительные детали в Flash Professional, но проблема в том что я использую движок Papervision - Для работы с камерой и прочим, и дело в том что - метод AddChild(Viewport), не абсолютен, то есть при изменении разрешения окна, вьюпорт - уменьшается вместе с окном, а в Flex - имеется rawChildren.AddChild(viewport) - этот метод делает окно статичным/абсолютным, то есть при изменении разрешения - становиться не видно определенной части сцены, но она не изменяет размер.
И примерна та же проблема возникает при применении [Embed(source="/shape1.svg")], при изменении разрешения окна, - этот градиент не растягивается по всему окну, и начинают видны грани(черный фон) который находиться за этим градиентом.

Что лучше сделать в таком случае - плиз?

Добавлено через 36 часов 10 минут
Закрываем тему - вопрос решен.


Последний раз редактировалось LighFusion; 05.04.2015 в 21:25.