Como posso centrar dinamicamente uma imagem em um relatório MS Reporting Services?

votos
13

Fora da caixa, no MS Reporting Services, o elemento de imagem não permite a centralização da própria imagem, quando as dimensões são desconhecidas no momento da concepção. Em outras palavras, a imagem (se menores que as dimensões distribuídas na superfície de design) será ancorado ao canto superior esquerdo, não no centro.

O meu relatório vai saber a URL da imagem em tempo de execução, e eu preciso ser capaz de centralizar esta imagem se ele é menor do que as dimensões especificadas no meu designer.

Publicado 07/08/2008 em 21:24
fonte usuário
Em outras línguas...                            


1 respostas

votos
8

Aqui está como eu era capaz de fazer isso. Com a ajuda de Chris Hays

Tamanho a imagem a ser tão grande como você gostaria que fosse sobre o relatório, a mudança "calibragem" propriedade para "Clip" .

Dinamicamente definir o preenchimento esquerdo da imagem usando uma expressão:

=CStr(Round((4.625-System.Drawing.Image.FromStream(System.Net.WebRequest.Create(Parameters!LogoURL.Value).GetResponse().GetResponseStream()).Width/96)/2,2)) & "in"

Dinamicamente definir o preenchimento superior da imagem usando uma expressão:

=CStr(Round((1.125-System.Drawing.Image.FromStream(System.Net.WebRequest.Create(Parameters!LogoURL.Value).GetResponse().GetResponseStream()).Height/96)/2,2)) & "in"

A primeira modificação feita ao código de Chris foi para trocar as dimensões do meu elemento de imagem no relatório (a minha imagem foi 4.625x1.125 - ver os números acima).

Eu também escolheu para obter o fluxo de uma URL em vez do banco de dados . Eu costumava WebRequest.Create.GetResponse. GetResponseStream fazer para isso.

So far so good - I Espero que ajude!

Respondeu 07/08/2008 em 21:31
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more