¿Cómo puedo centrar dinámicamente una imagen en un informe de MS Reporting Services?

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

  •  08-06-2019
  •  | 
  •  

Pregunta

De fábrica, en MS Reporting Services, el elemento de imagen no permite centrar la imagen en sí, cuando las dimensiones se desconocen en el momento del diseño.En otras palabras, la imagen (si es más pequeña que las dimensiones asignadas en la superficie de diseño) quedará anclada en la esquina superior izquierda, no en el centro.

Mi informe conocerá la URL de la imagen en tiempo de ejecución y necesito poder centrar esta imagen si es más pequeña que las dimensiones especificadas en mi diseñador.

¿Fue útil?

Solución

Así es como pude lograr esto.Con ayuda de Chris Hays

Cambie el tamaño de la imagen para que sea tan grande como desee en el informe, cambie la propiedad "Tamaño" a "Acortar".

Establece dinámicamente el relleno izquierdo de la imagen usando una expresión:

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

Establece dinámicamente el relleno superior de la imagen usando una expresión:

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

La primera modificación realizada al código de Chris fue cambiar las dimensiones de mi elemento de imagen en el informe (mi imagen era 4.625x1.125 - ver números arriba).

También elegí recibir la transmisión. desde una URL en lugar de la base de datos.Usé WebRequest.Create.GetResponse.Obtener flujo de respuesta hazlo.

Hasta ahora todo bien. ¡Espero que te ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top