問題

在MS Reportment Services中,當尺寸在設計時未知時,影象元素不允許將影象本身作為中心.換句話說,影象(如果小於設計表面分配的尺寸)將被固定在左上角,而不是在中心.

我的報告將在執行時知道影象的URL,如果它小於我的設計器中指定的尺寸,我需要能夠將此影象中心.

  最佳答案

以下是我如何實現這一點.在 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 這樣做.

到目前為止,我的希望是有幫助的!

  相同標籤的其他問題

reporting-services