Tratamento de Imagens e campos blobs com GeneXus

Me perguntaram como poderiam fazer para trabalhar com Imagens no GeneXus 9 Web, quero dizer, carregar a imagem e deixar num tamanho especifico e não o tamanho original da imagem.
Acredito que podem existir outras alternativas, mas o meu exemplo é o seguinte:

Criamos uma transação por exemplo Picture.

Tratamento Imagens e Campos Blob GeneXus - Fabricio De los Santos - 1.JPG

O campo Picture foi definido de tipo blob e definimos mais 2 atributos para armazenar o tipo de arquivo e o nome.
Estes atributos são as propriedades FileTypeAttribute e FileNameAttribute

Tratamento Imagens e Campos Blob GeneXus - Fabricio De los Santos - 2.JPG

No web panel que criamos para visualizar a imagem colocamos o campo Blob na tela e no evento load damos um valor as propriedades width e height, por exemplo:

Event Load
PictureItem.width = 200
PictureItem.height = 200
EndEvent

O Resultado:

Tratamento Imagens e Campos Blob GeneXus - Fabricio De los Santos - 3.JPG

Existem outras funções associadas por exemplo pathtourl()

Poderia dependendo da situação criar uma variável tipo bitmap e carregar ela da seguinte forma:
&link = PathToUrl(PictureItem)
&bitmap = LoadBitmap(&link)

Mais informação relacionada no Wiki de GeneXus

http://wiki.gxtechnical.com/commwiki/servlet/hwiki?FileType+runtime+property,

Como mencionei antes, podem existir outras alternativas esta foi a que usei no GeneXus 9, acredito aplica também para GeneXus Evolution 1.
Se tiverem alguma outra alternativa melhor por favor postem o comentário.
Obrigado.

Fabricio De los Santos
Gerência de Projetos – Consultoria GeneXus – Agente K2B Tools
ERP – Sistemas de Missão Crítica – Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.

Leave a Reply

You must be logged in to post a comment.