Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

Teste simples com canvas não funciona

24 de Outubro de 2011, 16:18 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 157 vezes

Olá! Estou escrevendo um pequeno programa de teste, que demonstra o funcionamento do canvas, mas o programa está desenhando apenas a imagem de fundo, e não está desenhando a imagem frontal nem o texto (com drawText). Acredito que o problema esteja no NCL. Alguma idéia?

Segue o código Lua:

local img_frame = canvas:new('media/frame.jpg')
canvas:compose(15,15,img_frame)
canvas:attrColor('white')
canvas:attrFont('vera', 32)
canvas:drawText(15, 15, "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf")

E o código NCL:

 <?xml version="1.0" encoding="ISO-8859-1"?>

<ncl id="Segundo-Lua" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">


<head>

<regionBase>

<region id="screen" left="0" top="0" width="100%" height="100%" zIndex="1" />

<region id="rgLua" left="0" top="0" width="60%"  height="55%" zIndex="3" />

</regionBase>

<descriptorBase>

<descriptor id="screenDesc" region="screen" />

<descriptor id="dsLua" region="rgLua" focusIndex="13" />

</descriptorBase>

</head>


<body>


<port id="portPrincipal" component="media_1" />

<port id="portContextLua" component="contextLua" />


<media id="media_1" src="media/1920x720.jpg" descriptor="screenDesc" />


<context id="contextLua">

<port id="portLua" component="lua" />

<media id="lua" src="hello.lua" descriptor="dsLua" />

</context>


<link id="myLink" xconnector="onBeginStart">

<bind role="onBegin" component="media_1" />

<bind role="start" component="contextLua" />

</link>


</body>

</ncl>

Autor: Wellington Brito de Carvalho


55 comentários

  • 0ef794389d274042606a05075f4809f4?only path=false&size=50&d=404Wellington Brito de Carvalho(usuário não autenticado)
    24 de Outubro de 2011, 16:21

     

    Ah, é necessário ter 2 figuras jpg na pasta media, com os nomes:

    media/1920x720.jpg
    media/frame.jpg 

  • 909d8715533ab3fca92606b082b5e17c?only path=false&size=50&d=404Julio Melo(usuário não autenticado)
    24 de Outubro de 2011, 16:55

     

    Oi Wellington,

     

    O único erro que vejo em tua aplicação é a falta de ao menos uma chamada de "canvas::flush()" para mostrar o conteúdo desenhado na tela.

     Julio Melo 

    • 0ef794389d274042606a05075f4809f4?only path=false&size=50&d=404Wellington Brito de Carvalho(usuário não autenticado)
      24 de Outubro de 2011, 17:14

       

      E não é que funcionou?

      Estranho, por que no programa original em que me baseei  não tinha o flush, e funcionava...

      Enfim, muito obrigado! 

      • 3e49093eafaf7e56e54e2715da373432?only path=false&size=50&d=404Felipe Almeida(usuário não autenticado)
        25 de Outubro de 2011, 8:39

         

        > E não é que funcionou?

        > Estranho, por que no programa original em que me baseei  não tinha o flush, e funcionava...

        > Enfim, muito obrigado! 

        Não é estranho. É não-especificado se  deve funcionar sem flush. Mas só é garantido com flush. Isso permite a implementação otimização aos recursos gráficos.

        • 6d8523ee8653cf0ab9ef0e1348918792?only path=false&size=50&d=404Marcio Moreno(usuário não autenticado)
          18 de Janeiro de 2012, 10:13

           

          Oi, Felipe.

          Essa eh uma coisa que nao faz sentido ser especificada.

          Fazendo paralelos: praticamente todas as bibliotecas multimedia possuem esse tipo de funcao para garantir atualizacoes de superficies (flip); pensem em printf cout, etc... tambem tem um flush; e muitos outros exemplos que poderiamos citar aqui.

          Sds. Marcio Moreno

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