![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2012
Сообщений: 44
|
Здравствуйте.
Столкнулся с необходимостью использовать в своем приложении svg изображения. Использую Flex 4, а в нем элемент Image уже не поддерживает svg. До недавних пор использовал компонент SVGViewer от zavoo, но недавно выяснилось, что он не поддерживает штрихованные линии. Может быть кому-либо приходилось сталкиваться с подобной проблемой и вы сможете мне помочь в ее решении? Последний раз редактировалось Sonet; 10.08.2012 в 18:22. |
|
|||||
|
Если я не ошибаюсь, то это предок FXG формата, где присутствуют и fill и stroke итд. Если так, то http://blog.flexexamples.com/2010/10...rol-in-flex-4/
Или вот https://github.com/EladElrom/eladlib...s/fxgconverter и его использование http://eladelrom.com/blog/flash-xml-...uring-runtime/ Ошибся, это не потомок SVG Попробуйте это http://code.google.com/p/as3svgrendererlib/ Или вот еще вариант (если у Вас будет возможность поместить все svg во флексовые модули) <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Script> <![CDATA[ import mx.core.IVisualElement; import mx.events.FlexEvent; import mx.events.ModuleEvent; import mx.modules.IModuleInfo; import mx.modules.ModuleManager; import mx.utils.ObjectUtil; private var urlLdl:URLLoader; private var modInfo:IModuleInfo; private var oneGraphicsModule:Object; protected function loadModuleButton_clickHandler(event:MouseEvent):void { modInfo = ModuleManager.getModule("VectorGraphics/TestGraphicsModule.swf"); urlLdl = new URLLoader( ); urlLdl.dataFormat = URLLoaderDataFormat.BINARY; urlLdl.addEventListener( Event.COMPLETE, bytesLoadedHandler ); urlLdl.load( new URLRequest("VectorGraphics/TestGraphicsModule.swf")); } private function bytesLoadedHandler( event:Event ):void { modInfo.addEventListener( ModuleEvent.READY, moduleLoadedHandler ); modInfo.load( null, null, event.target.data ); } private function moduleLoadedHandler( event:ModuleEvent ):void { oneGraphicsModule = modInfo.factory.create(); vectorGraphicsContainer.addElement(oneGraphicsModule as IVisualElement); } ]]> </fx:Script> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <s:HGroup> <s:Button label="load vector graphic module" id="loadModuleButton" click="loadModuleButton_clickHandler(event)" /> </s:HGroup> <s:Group id="vectorGraphicsContainer" top="40" left="40"/> </s:Application> <s:Module xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ [Embed(source="VectorGraphics/HouseMD.svg")] [Bindable] public var vectorGraphicsData:Class ]]> </fx:Script> <s:Image source="{vectorGraphicsData}"/> </s:Module> Последний раз редактировалось djyamato; 11.08.2012 в 01:12. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|