Como posso dinamicamente centro de uma imagem em um MS de relatório do Reporting Services?

StackOverflow https://stackoverflow.com/questions/5264

  •  08-06-2019
  •  | 
  •  

Pergunta

Fora da caixa, no MS Reporting Services, o elemento de imagem não permitir a centralização da imagem em si, quando as dimensões são desconhecidas no momento da concepção.Em outras palavras, a imagem (imagens) (se menor do que as dimensões previsto 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 essa imagem se ela é menor do que as dimensões especificadas no meu designer.

Foi útil?

Solução

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

O tamanho da imagem para ser tão grande como você deseja no relatório, altere "Dimensionamento" propriedade "Clip".

Definir dinamicamente a imagem da esquerda preenchimento 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"

Definir dinamicamente a imagem do topo de preenchimento 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 para Chris código foi trocar as dimensões de minha elemento de imagem no relatório (minha imagem foi 4.625x1.125 - ver números acima).

Eu também escolhi para começar o stream a partir de uma URL em vez de o banco de dados.Eu usei WebRequest.Criar.GetResponse.GetResponseStream fazer para isso.

Até aí tudo bem - eu Espero que ajude!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top