гибкое рисование различных градиентных цветов объектов - PullRequest
0 голосов
/ 18 октября 2011

Я хочу иметь прямоугольник, который имеет три разных цвета в flex.Я использовал искровые компоненты, такие как заливка и градиент, но не мог получить три цвета рядом, как это.

черный-красный-черный с соотношением 0,2 0,8 0,2.Я мог заставить работать только два цвета, но не это соотношение.Также я хочу сплошные цвета на прямоугольник, а не градиент.

<s:Rect id="rectangle1" height="100" width="300">
    <s:fill>
        <s:LinearGradient>
            <s:GradientEntry color="black" ratio="0.5"    alpha="1"/>
            <s:GradientEntry color="red"  ratio="0.5" alpha="1"/>
    </s:LinearGradient> 
    </s:fill>
</s:Rect>

1 Ответ

1 голос
/ 18 октября 2011

Разве вы не говорите, что хотите 3-прямоугольника? Вы хотите градиент, но затем вы заявляете, что хотите сплошные цвета (без градиента).

Вы имеете в виду, как это?

3 Rectangles

<?xml version="1.0" encoding="utf-8"?>
<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">

    <s:Rect id="rectangle1"
            height="15"
            width="300">
        <s:fill>
            <s:SolidColor color="0x0" />
        </s:fill>
    </s:Rect>

    <s:Rect id="rectangle2"
            top="15"
            height="70"
            width="300">
        <s:fill>
            <s:SolidColor color="0xff0000" />
        </s:fill>
    </s:Rect>

    <s:Rect id="rectangle3"
            top="85"
            height="15"
            width="300">
        <s:fill>
            <s:SolidColor color="0x0" />
        </s:fill>
    </s:Rect>

</s:Application>

В противном случае вы можете отчасти достичь своей цели следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<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">

    <s:Rect id="rectangle1"
            height="100"
            width="300">
        <s:fill>
            <s:LinearGradient rotation="90">
                <s:GradientEntry color="0x0" ratio="0" />
                <s:GradientEntry color="0x0" ratio=".2" />
                <s:GradientEntry color="0xff0000" ratio=".2" />
                <s:GradientEntry color="0xff0000" ratio=".8" />
                <s:GradientEntry color="0x0" ratio=".8" />
            </s:LinearGradient>
        </s:fill>
    </s:Rect>

</s:Application>
...