【问题标题】:How can I dynamically center an image in a MS Reporting Services report?如何在 MS Reporting Services 报告中动态居中图像?
【发布时间】:2008-08-07 20:24:34
【问题描述】:

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

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

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    这是我能够做到这一点的方法。在Chris Hays的帮助下

    将图片大小调整到您希望在报告中显示的大小,将“Sizing”属性更改为“Clip”

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

    =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 这样做。

    到目前为止一切顺利 - 我希望能有所帮助!

    【讨论】:

    • 您如何使用嵌入式图像来做到这一点?我无法弄清楚如何在表达式中引用嵌入图像。
    • @DvdFranco 谢谢,我确实在原始帖子中包含了链接
    • 我有一个问题,因为某些图像比布局大。它会被剪掉。
    • @DvdFranco 链接已存档,这是新的:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多