Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Porão do Tri...
Tela cheia

Nova versão do phpSVG (Denovo)

20 de Novembro de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 76 vezes

Fala pessoal!

Estou aqui novamente falando do phpSVG.

Desta vez estou lançando uma atualização da biblioteca e inaugurando um pequeno site sobre o desenvolvimento da biblioteca.

A nova versão tem suporte a mais formas, gradientes e javascript.

http://phpsvg.nostaljia.eng.br/index.php

O site é somente em inglês por enquanto.

No site também consta a documentação completa da biblioteca:

http://phpsvg.nostaljia.eng.br/doc/html/index.html

Exemplo de uso de javascript na biblioteca (não adianta nada se seu browser não suportar SVG):

E o código fonte do exemplo acima:

$svg = SVGDocument::getInstance( );
$svg->setTitle("Javascript example");
 
#add some javascript functions
$svg->addScript("    
    function changeColor(evt, element)
    {
        destination = document.getElementById('destination');
 
        if ( evt.ctrlKey )
        {
            destination.style.stroke = element.style.fill;
        }
        else
        {
            destination.style.fill = element.style.fill;
        }
 
        evt.preventDefault();
        return false;
    }
");
 
#mount a simple color array
$colors[] = 'red';
$colors[] = 'green';
$colors[] = 'blue';
$colors[] = 'yellow';
$colors[] = 'orange';
$colors[] = 'gray';
$colors[] = 'black';
$colors[] = 'white';
 
$text = SVGText::getInstance( 10, 25, null, 'Left click for fill - control click for stroke');
 
$svg->addShape($text);
 
foreach ( $colors as $line => $color )
{
    $rect = SVGRect::getInstance( ( $line *60 )+10 , 40, null, 50, 50 );
    $style = new SVGStyle();
    $style->setFill($color);
    $style->setStroke("darkGray", 1);
    $rect->setStyle($style);
 
    $rect->addOnclick("return changeColor(evt,this);");
    $rect->addAttribute("onmouseover", "this.style.stroke = 'lightGray';");
    $rect->addAttribute("onmouseout", "this.style.stroke = 'gray';");
 
    $svg->addShape($rect);
}
 
$rect = SVGRect::getInstance( 140 , 100, 'destination', 200, 200 );
$style = new SVGStyle();
$style->setFill('none');
$style->setStroke("darkGray", 5);
$rect->setStyle($style);
 
$svg->addShape($rect);
 
$svg->output();

 

Segue abaixo relação completa do changelog:

VERSION 0.7 - Nov 16 2011
- Added support for line
- Added support for circle.
- Added support for ellipse.
- Added support for radial gradient.
- Added support for round rect.
- Added javascript support.
- Added support for title and description
Examples:
- Added javascript example.
- Added merge example.
- Added text replace.
- Addes Line graph example



Bom por hoje era isso pessoal!

 


Fonte: http://trialforce.nostaljia.eng.br/?p=1068

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.