Как я могу динамически центрирование изображения в отчете MS Reporting Services?

голоса
13

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

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

Задан 07/08/2008 в 21:24
источник пользователем
На других языках...                            


1 ответов

голоса
8

Вот как я был в состоянии сделать это. С помощью Криса 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 сделать так.

До сих пор так хорошо - Я надеюсь, что помогает!

Ответил 07/08/2008 в 21:31
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more