Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

Efeito fade em imagem usando apenas NCL

4 de Setembro de 2009, 15:51 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 22 vezes

Pessoal, procurei no fórum uma solução para o que desejo mas não achei.

Bem, num descritor, podemos adicionar um parâmetro transparency e definir o nível de transparência de uma mídia. Na ginga-ncl vm 0.10.1 funciona blz. Só achei estranho que, quanto menor o valor, mais transparente fica. Eu entendo assim: 0% seria nada de transparência, logo, a imagem fica normal, 100% seria totalmente transparente. Mas é o contrário. Alguém explica isso?

Então, o que desejo é, usando esse parâmetro, definir um efeito de fade em uma imagem, fazendo com que ela inicie totalmente transparente e vá aparecendo gradualmente. Sei que pra isso posso criar âncoras na imagem e criar um link para cada uma delas para "setar" o valor do atributo transparency, porém, isso não funciona para o mesmo. Funciona para outros atributos como bounds. Alguém sabe dizer como resolver isso? Pois imagino que meu código está correto, pois uso o mesmo conectar para alterar o valor de bounds em cada uma das âncoras que criei na imagem. Segue o código abaixo:

O conector no arquivo de conectores:

            <causalConnector id="onBeginSetN">
                <connectorParam name="var"/>
               
                <simpleCondition role="onBegin"/>
                <simpleAction role="set" value="$var"/>
            </causalConnector>

O código NCL principal:

    ...
            <descriptor id="dImg1" region="rImg1" explicitDur="30s">
                <descriptorParam name="transparency" value="10%"/>
            </descriptor>
    ...
                
        <media id="img1" src="foo.jpg" descriptor="dImg1">
            <property name="transparency"/>
            <property name="bounds"/>
            <area id="a1" begin="4s" end="5s"/>
            <area id="a2" begin="5s" end="6s" />
            ...
        </media>    
        
        
        <link xconnector="connBase#onBeginSetN">
            <bind component="img1" role="onBegin" interface="a1" />
            <bind component="img1" role="set" interface="transparency">
                <bindParam name="var" value="25%"/>
            </bind>
        </link>
        <link xconnector="connBase#onBeginSetN">
            <bind component="img1" role="onBegin" interface="a1" />
            <bind component="img1" role="set" interface="bounds">
                <bindParam name="var" value="60%,60%,20%,20%"/>
            </bind>
        </link>                

        <link xconnector="connBase#onBeginSetN">
            <bind component="img1" role="onBegin" interface="a2" />
            <bind component="img1" role="set" interface="transparency">
                <bindParam name="var" value="50%"/>
            </bind>
        </link>    
        <link xconnector="connBase#onBeginSetN">
            <bind component="img1" role="onBegin" interface="a2" />
            <bind component="img1" role="set" interface="bounds">
                <bindParam name="var" value="65%,65%,15%,15%"/>
            </bind>
        </link>    

 


                        

Autor: Manoel Campos da Silva Filho


33 comentários

  • 1e29d0095154ec9fed26313e9afb8f36?only path=false&size=50&d=404Manoel Campos da Silva Filho(usuário não autenticado)
    4 de Setembro de 2009, 16:07

     

    Ah, lembrei que tinha visto na norma da NCL algo sobre efeitos. Então achei a tag transition. Porém, da forma que fiz não deveria funcionar?

    • 1e29d0095154ec9fed26313e9afb8f36?only path=false&size=50&d=404Manoel Campos da Silva Filho(usuário não autenticado)
      4 de Setembro de 2009, 16:24

       

      Bem, a solução já tenho. Vou mostrar um exemplo de como ficou, mas gostaria de saber ainda porque da primeira forma que mostrei não funciona. Se alguém puder explicar, agradeço.

      Segue  exemplo:

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <ncl id="imgFade2" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
          <head>
              <transitionBase>
                  <transition id="tFade"  type="fade" dur="2s" startProgress="0" endProgress="1" />
              </transitionBase>

              <regionBase>
                  <region id="rTela" width="640" height="480">
                      <region id="rImg1" width="100%" height="100%" />
                  </region>
              </regionBase>
                 
              <descriptorBase>
                  <descriptor id="dImg1" region="rImg1" explicitDur="5s" transIn="tFade" transOut="tFade" />
              </descriptorBase>
          </head>

          <body>
              <port id="pInicio" component="img1" />       
              <media id="img1" src="foo.jpg" descriptor="dImg1" />
        </body>
      </ncl>
         

      • 820d3515c25dc6c1319875ee4fed9224?only path=false&size=50&d=404Carlos de Salles Soares Neto(usuário não autenticado)
        9 de Dezembro de 2009, 17:23

         

        Manoel,

        Sua ideia é bem intuitiva, achei bem legal. A versão que vai ser disponibilizada nos próximos dias suporta esse recurso de atribuir o valor de transparência com duração para simular o efeito de fade in ou fade out.

        Carlos

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo