none
Salvar uma imagem da aplicação

    Question

  • Galera,

    eu preciso salvar uma imagem da minha tela silverlight, como se fosse um print screen da tela, mas só da aplicação silverlight. Alguém sabe se é possível fazer isso?

    Tipo o cara aperta um botão, e tira uma foto dessa tela silverlight pra eu gerar uma imagem.

    Obrigado,

    Thiago

    Monday, August 23, 2010 9:40 PM

Answers

  • VinTem,

    É possível criar uma instância da classe WriteableBitmap cujo construtor solicita um UIElement e com isso utilizar a propriedade Pixels dessa classe para criar uma imagem conforme o formato que deseja. Por exemplo:

    var writeableBitmap = new WriteableBitmap(seuGrid, null);

    O maior problema é que não existem classes no Silverlight para realizarmos a gravação da imagem em um formato conhecido tal como fazemos com o WPF (essa é a funcionalidade #1 do meu wishlist para o SL5). Felizmente existem alguns códigos open-source bem interessantes que podem lhe ajudar, tal como os dois abaixo:

    JPEG - fjcore
    http://code.google.com/p/fjcore/

    PNG - Dynamic Image Generation in Silverlight
    http://blogs.msdn.com/b/jstegman/archive/2008/04/21/dynamic-image-generation-in-silverlight.aspx

    Se não desejar incluir todo esse código em sua aplicação Silverlight é possível ainda criar um serviço que receba o array de bytes e transforma o mesmo no formato desejado no servidor (será que vale a pena?).

    Obs: Já utilizei o fjcore e funciona bem.

    Espero ter ajudado.

    Ari C. Raimundo
    MCAD, MCTS
    http://araimundo.blogspot.com

    • Marked as answer by VinTem Tuesday, August 24, 2010 6:57 PM
    Tuesday, August 24, 2010 4:33 AM

All replies