Comment puis-je centrer dynamiquement une image dans un rapport MS Reporting Services ?

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

  •  08-06-2019
  •  | 
  •  

Question

Par défaut, dans MS Reporting Services, l'élément image ne permet pas le centrage de l'image elle-même, lorsque les dimensions sont inconnues au moment de la conception.En d’autres termes, l’image (si elle est plus petite que les dimensions allouées sur l’aire de conception) sera ancrée dans le coin supérieur gauche et non au centre.

Mon rapport connaîtra l'URL de l'image au moment de l'exécution et je dois pouvoir centrer cette image si elle est plus petite que les dimensions spécifiées dans mon concepteur.

Était-ce utile?

La solution

Voici comment j’ai pu y parvenir.Avec l'aide de Chris Hays

Dimensionnez l'image pour qu'elle soit aussi grande que vous le souhaiteriez sur le rapport, modifiez la propriété "Dimensionnement" en "Agrafe".

Définissez dynamiquement le remplissage gauche de l'image à l'aide d'une expression :

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

Définissez dynamiquement le remplissage supérieur de l'image à l'aide d'une expression :

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

La première modification apportée au code de Chris a été d'échanger les dimensions de mon élément image sur le rapport (mon image était 4.625x1.125 - voir chiffres ci-dessus).

J'ai aussi choisi d'obtenir le stream à partir d'une URL au lieu de la base de données.J'ai utilisé WebRequest.Create.GetResponse.GetResponseStream faites-le.

Jusqu'ici tout va bien - j'espère que cela vous aidera !

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top