Gerenciador de Galeria de Imagem em FLEX

Pessoal,

Estou desenvolvendo um Site, e preciso que haja um gerenciamento de galeria de imagem, que o proprio usuario que ira cadastrar.

Tem algum componente especifico para tipo ArrayCollection de Imagem?

Obrigado

Tem o TileList.
O interessante seria você customizar essa lista usando o itemRenderer. Dá pra fazer umas coisas bem legais com isso :slight_smile:

Não entendi muito o seu problema. Você precisa de um gerenciador de galeria de imagens? O que seria esse gerenciador?

Assim.

Eu estou desenvolvendo um Sistema para gerenciar uma Imobiliaria, e o site deles. ´Cada imovel tem várias fotos, ou seja, cada imovel tem uma galeria.

Aí no sistema preciso fazer um esquema para o usuario inserir e visualizar essa galeria do imovel.

Eu queria mais ou menos um container com vários quadrados minis e dentro as fotos em miniatura. ao clicar na foto aparece ela maior no quadro de cima ´que é maior.

Se estou um pouco confuso ainda, me fale que tento explicar melhor.

Obrigado

Entendi.

Para isso é melhor usar o TileList com ItemRenderer mesmo. Porém o efeito de clicar e abrir a imagem maior deverá ser implementado.

Segue um exemplo:
http://blog.flexexamples.com/2008/03/08/creating-a-simple-image-gallery-with-the-flex-tilelist-control/

[quote=Bruno Sales]Entendi.

Para isso é melhor usar o TileList com ItemRenderer mesmo. Porém o efeito de clicar e abrir a imagem maior deverá ser implementado.

Segue um exemplo:
http://blog.flexexamples.com/2008/03/08/creating-a-simple-image-gallery-with-the-flex-tilelist-control/

[/quote]

Muito Obrigado

Preciso fazer um esquema de Adicionar e Remover foto por imóvel, e tambem fazer um upload.

Tenho uma tabela no Banco: Galeria, onde tem ID do Imovel, e o caminho da foto

Será que é muito complexo?

Pra te dar um caminho:

. Você precisa de uma página que receba arquivos para upload. (pode ser uma servlet java ou até uma página em php).
. Essa página se encarrega de salvar essa imagem em disco e gravar as informações no banco.
. O flex deve chamar essa página enviando a imagem para ela.

Esses são os passos macros para fazer o upload funcionar. Olhando na net achei esse link que talvez possa te ajudar:
http://snippets.dzone.com/posts/show/6280

De qualquer forma, só procurar flex upload files php/java que irá te retornar muita coisa no google.

Será que ao inves de usar um XML com lista de imagens eu poderia criar um metodo Java e utilizar a Classe HasMap, ou uma classe semelhante?

Aé o método retornaria uma List que seria a dataProvider do TaleList.

Grato

Sim, para visualizar as fotos você pode retornar um List do java, que vai se serializar para um ArrayCollection no Flex, que pode, sem problemas, ser usado como seu dataProvider.

Eu li em algum lugar que ItemRenderer tem uma performance horrivel e que não era aconselhado usa-lo. Se sua galeria de imagens for ter muitas imagens e melhor dar uma lida a respeito do itemrenderer.

ItemRenderer é um processo que consome um bom processamento para o flex. Porém, se for feito de forma correta, não compromete em nada sua aplicação.

Se eu retornar com Java lista de caminhos da imagem, como faço para flex interpretar como uma lista de caminho à imagem para ele exibir, e nao apenas um monte de Char?

As suas imagens devem estar no mesmo contexto da sua aplicação flex ou ter o link direto para elas. Vou te dar 3 exemplos:

  1. Você acessa sua aplicação da seguinte forma: localhost:8080/app/index.html, logo, as suas imagens deveria estar dentro deste mesmo contexto (app) e deveriam ser acessadas assim: localhost:8080/app/imagem/imagem1.png. Se isso for real, você pode acessar as fotos de seu application assim: source=“imagem/imagem1.png”.

  2. A sua foto pode estar em outro contexto e até outro site (mas isso envolveria questõs de segurança, crossdomain, etc que não vale a pena ser falado agora), e para acessar você poderia usar algo assim: source=“localhost:8080/outraApp/img/img1.png”.

  3. Você pode ter uma servlet que busque essa imagem e retorne para você. Assim o seu acesso a imagem poderia ser algo do tipo: source=“localhost:8080/app/minhaServlet?imagemId=1”.

Acho que o primeiro exemplo é mais simples para você iniciar.