Wie kann ich ein Bild in einem MS Reporting Services-Bericht dynamisch zentrieren?

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

  •  08-06-2019
  •  | 
  •  

Frage

Standardmäßig ermöglicht das Bildelement in MS Reporting Services keine Zentrierung des Bildes selbst, wenn die Abmessungen zum Zeitpunkt des Entwurfs unbekannt sind.Mit anderen Worten: Das Bild (wenn es kleiner als die auf der Designoberfläche vorgesehenen Abmessungen ist) wird in der oberen linken Ecke verankert, nicht in der Mitte.

Mein Bericht kennt zur Laufzeit die URL des Bildes und ich muss in der Lage sein, dieses Bild zu zentrieren, wenn es kleiner als die in meinem Designer angegebenen Abmessungen ist.

War es hilfreich?

Lösung

So konnte ich das erreichen.Mit Hilfe von Chris Hays

Passen Sie die Größe des Bildes so an, dass es im Bericht angezeigt werden soll. Ändern Sie die Eigenschaft „Größe“ in „Clip“.

Legen Sie den linken Abstand des Bildes dynamisch mithilfe eines Ausdrucks fest:

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

Legen Sie den oberen Innenabstand des Bildes mithilfe eines Ausdrucks dynamisch fest:

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

Die erste am Code von Chris vorgenommene Änderung bestand darin, die Abmessungen meines Bildelements im Bericht auszutauschen (mein Bild war 4,625 x 1,125 - siehe Zahlen oben).

Ich habe mich auch für den Stream entschieden von einer URL anstatt die Datenbank.Ich habe WebRequest.Create.GetResponse verwendet.GetResponseStream dazu tun.

So weit so gut – ich hoffe, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top