Как я могу динамически центрировать изображение в отчете MS Reporting Services? - PullRequest
15 голосов
/ 08 августа 2008

Из коробки в службах MS Reporting Services элемент изображения не позволяет центрировать само изображение, когда размеры неизвестны во время разработки. Другими словами, изображение (если оно меньше размеров, выделенных на поверхности конструктора) будет привязано к верхнему левому углу, а не к центру.

Мой отчет будет знать URL изображения во время выполнения, и мне нужно иметь возможность центрировать это изображение, если оно меньше размеров, указанных в моем конструкторе.

1 Ответ

8 голосов
/ 08 августа 2008

Вот как мне удалось это сделать. С помощью Крис Хейс

Увеличьте размер изображения до требуемого в отчете, измените свойство «Размер» на «Клип» .

Динамически установить левый отступ изображения, используя выражение:

=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"

Первая модификация кода Криса состояла в том, чтобы поменять размеры моего элемента изображения в отчете (мое изображение было 4.625x1.125 - см. Числа выше).

Я также решил получить поток с URL вместо базы данных . Я использовал WebRequest.Create.GetResponse. GetResponseStream сделать так.

Пока все хорошо - надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...