Страница 1 из 2

Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 02:59
lutikman
Добрый день.
На бенде лежит комопнент StiImage, данные в которые подтягиваются с базы.
Установлены след свойства StiImage:
  • Растягивать = да
    Отношение координат = да
    Может сжиматся = да
    Может расти = да
    Максимальный размер = 9,4;0
Также установил границу компонента для наглядности.
Вот что происходит если картинка больше указаной ширины (см. вложение).
Т.е. компонент растягивается, потом сжимает саму картинку как надо, но размер компонента остается большой, тем самым создает ненужное пространство перед след бендом.

Подскажите плиз как этого избежать.

Re: Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 09:08
HighAley
Здравствуйте.

Чтобы ответить на ваш вопрос, нам необходимо увидеть шаблон этого отчёта.

Спасибо.

Re: Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 09:23
lutikman
Шаблон прилагаю.

Re: Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 15:54
HighAley
Здравствуйте.

Мы не можем воспроизвести вашу проблему на последней версии нашего продукта.
Проверьте, пожалуйста, ваш отчёт на последней версии.

Спасибо.

Re: Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 16:34
lutikman
Скачал Stimulsoft Reports.Ultimate 2012.3 Trial и установил.
Отчет упростил по максимуму.
На PageHeaderBand1 положил StiImage к нему привязал картинку с жесткого диска, которая по размеру шире страницы отчета.
Установил границу StiImage для наглядности.
Положил ReportTitleBand1 чтобы видно было что он смещается и образуется ненужное пространство.
Свойства StiImage:
Растягивать = да
Отношение координат = да
Может сжиматся = да
Может расти = да
Максимальный размер = 19;0

Задача: большие картинки растянуть по ширине и высоте, сохраняя пропорции сторон и не шыре заданого значения или шырины копонента.

Не знаю как у вас, у меня не получается это сделать:
report_screen.png
report_screen.png (159.39 КБ) 4289 просмотров
Помогите плиз разобратся что не так делаю. Проблема явно не в версии продукта или если это баг, то он есть до сих пор.

Re: Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 17:35
HighAley
Здравствуйте.

Для необходимого вам отображения картинки, рекомендуем вам использовать следующий метод.
  1. Установить свойство Can Grow в значение False.
  2. Создать переменную типа object с именем store.
  3. В событии Get Tag компонента StiImage написать следующий код:

    Код: Выделить всё

    store = sender;
  4. В событии After Print компонента StiImage написать следжующий код:

    Код: Выделить всё

    (store as StiImage).Height = (store as StiImage).Width / ((double)((store as StiImage).ImageToDraw.Width) / (double)((store as StiImage).ImageToDraw.Height));
Спасибо.

Re: Компонент StiImage по размеру картинки

Добавлено: 14 янв 2013, 18:24
lutikman
Огромное спасибо, вы мне очень помогли!!!

Re: Компонент StiImage по размеру картинки

Добавлено: 15 янв 2013, 09:07
HighAley
Здравствуйте.

Мы всегда рады помочь. Обращайтесь, если возникнут ещё вопросы.

Спасибо.

Re: Компонент StiImage по размеру картинки

Добавлено: 21 янв 2013, 17:10
lutikman
Добрый день.
Оказалось не все гладко.
Все отлично работает пока благодаря вашей помощи пока в поле БД не пусто. Как только поле картинки в БД пустое валится ошибка: "Ссылка на объект не указывает на экземпляр объекта".
Подозреваю что нужно где-то сделать проверку на пустоту поля БД, но где и как не знаю.
Жду вашей помощи, без которой ну никак. Заранее спасибо.

Re: Компонент StiImage по размеру картинки

Добавлено: 21 янв 2013, 17:55
HighAley
Здравствуйте.

Попробуйте добавить проверку в событии After Print компонента StiImage.

Спасибо.