Добавление маски к изображению Flex - PullRequest
0 голосов
/ 25 мая 2011

У меня есть следующий mxml:

<s:Image source="@Embed(source='my/path/to/img.png')" >
  <flex:mask>
    <s:Group alpha="0.1">
      <s:Rect width="129" height="123">
        <s:fill>
          <s:SolidColor color="0x00FFFF"/>
        </s:fill>
      </s:Rect>
    </s:Group>
  </flex:mask>
</s:Image>

Разве этот код не должен генерировать прямоугольную маску 129px * 123px, которая даст эффект обрезки?

Ответы [ 3 ]

2 голосов
/ 21 февраля 2013

Проблема в том, что объект маски должен быть уже создан и добавлен в список отображения к тому времени, когда он установлен в качестве маски. Итак, ваш код должен быть изменен, чтобы отразить это, например, так:

<s:Group id="imageMask" alpha="0.1">
  <s:Rect width="129" height="123">
    <s:fill>
      <s:SolidColor color="0x00FFFF"/>
    </s:fill>
  </s:Rect>
</s:Group>

<s:Image source="@Embed(source='my/path/to/img.png')" mask="{imageMask}" />

Хорошего дня.

1 голос
/ 21 января 2016

Это работает для BitmapImage.Image имеет свой собственный BitmapImage внутри ImageSkin.

Создать скин, установить skinClass:

<s:Image source="@Embed(source='my/path/to/img.png')" 
         skinClass="MyImageSkin"/>

и внутри MyImageSkin найдите BitmapImage и установите маску:

<!--- Primary image display skin part. -->
<s:BitmapImage id="imageDisplay" left="0" top="0" right="0" bottom="0">
    <s:mask>
       <s:Group alpha="0.1">
            <s:Rect width="129" height="123">
                <s:fill>
                    <s:SolidColor color="0x00FFFF"/>
                </s:fill>
            </s:Rect>
        </s:Group>
    </s:mask>
</s:BitmapImage>
0 голосов
/ 19 ноября 2012

Это должно сработать.

<s:Image source="@Embed(source='my/path/to/img.png')" >
  <s:mask>
    <s:Group alpha="0.1">
      <s:Rect width="129" height="123">
        <s:fill>
          <s:SolidColor color="0x00FFFF"/>
        </s:fill>
      </s:Rect>
    </s:Group>
  </s:mask>
</s:Image>

s: маска является свойством изображения и будет использовать внутренний FXG в качестве маски.Альфа не будет иметь никакого значения, если вы не установите свойство maskType = "" в альфа (для клипа - свойство по умолчанию, видимое или нет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...