开箱即用,在MS Reporting Services中,当设计时未知尺寸时,图像元素不允许图像本身居中。 换句话说,图像(如果小于设计表面上分配的尺寸)将锚定在左上角,而不是中心。

我的报告将在运行时知道图像的URL,如果它小于我的设计器中指定的尺寸,我需要能够将该图像居中。

===============>>#1 票数:8 已采纳

以下是我能够实现这一目标的方法。 Chris Hays的帮助下

将图像的大小调整为您在报表上所需的大小,将“大小调整”属性更改为“剪辑”

使用表达式动态设置图像的左边距:

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

使用表达式动态设置图像的顶部填充:

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

对Chris的代码进行的第一个修改是在报告中交换我的图像元素的尺寸(我的图像是4.625x1.125 - 见上面的数字)。

我还选择从URL而不是数据库获取流。 我使用了WebRequest.Create.GetResponse。 GetResponseStream这样做。

到目前为止一切都那么好 - 我希望有所帮助!

  ask by Ian Robinson translate from so

未解决问题?本站智能推荐: