2008-08-07 2 views
13

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

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

ответ

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" 

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

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

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

+0

Как вы это делаете, используя встроенное изображение? Мне не удалось выяснить, как ссылаться на встроенное изображение в выражении. – skeletank 2014-05-05 13:11:15

Смежные вопросы