Вопросы по объекту Picture

отредактировано 05:42 Раздел: FastReport .NET
"Кому нужны <strike>книжки</strike> отчеты без картинок?" - думала Алиса.

Добрался тут до картинок, и сразу возникло несколько вопросов:
1. Данные передаются в отчет в виде бизнес-объекта, за передачу изображений отвечает свойство с типом Bitmap. Тип этого свойства в шаблоне отчета определяется правильно, но вот BindableControl выставляется в Text. Если руками выставить BindableControl = Picture, вроде работает нормально. Собственно вопрос, какой должен быть тип передаваемых в отчет изображений? И нельзя ли «отфиксить» Bitmap?
2. Хотелось бы, чтобы объект Picture привязанный к данным при получении null значения (т.е. изображение отсутствует) мог бы сжиматься. У меня при получении пустой картинки он выводится с размерами "как есть" в не зависимости от установленного/снятого свойства «Может сжиматься» (может это с типом передаваемого изображения связано...).
3. Высота и ширина объекта Picture задается в Сантиметрах/Дюймах и т.д., а свойства MaxHeigh, MaxWidth... я так и не понял в чем. И вообще, после установки MaxHeigh, MaxWidth значений и попытки изменить мышкой размеры объекта Picture, последний начинает творить чудеса (при установке малых значений обычно «сбегает» с шаблона).
4. Еще хотелка :) , чтобы режим SizeMode = AutoSize при заданных ограничениях (MaxHeigh, MaxWidth ) работал бы следующим образом: объект Picture при необходимости увеличивает свои размеры, а при достижении одного из ограничений начинал бы работать как SizeMode = Zoom (если ограничения не заданы, то просто как стандартный AutoSize). Т.е. Picture увеличивается до одного из максимальных значений, а затем вписывает в себя изображение, сохраняя соотношение сторон последнего.

Комментарии

  • отредактировано 05:42
    Ждите 1-4 в очередном билде (завтра).
  • отредактировано 05:42
    AlexTZ написал: »
    Ждите 1-4 в очередном билде (завтра).
    Спасибо!
  • отредактировано 05:42
    Посмотрел билд 1.2.27.0
    1. Работает.
    2. Не работает. У объекта Picture установлено свойство "Может сжиматься", в источнике данных картинка отсутствует,
    Picture выводится с размерами "как есть" и не сжимается.
    Пробывал снять/установить свойство отчета "Преобразовывать null значения", ничего не изменилось.
    Если подключиться к событию BeforePrint объекта Picture:
    private void Picture1_BeforePrint(object sender, EventArgs e)
    {
    if(((Bitmap)Report.GetColumnValue("Диаграммы.Изображение"))==null)
    {
    Picture1.Visible = false;
    }
    else
    {
    Picture1.Visible = true;
    }
    }
    Picture становится невидимым, а вот бенд на котором он выводится при установленом свойстве "Может сжиматься" не сжимается.
    3. Теперь в сантиметрах, но если, скажем, в редакторе свойств выделить значение ширины объекта Picture, нажать Ctrl+c,
    а затем по Ctrl+v попытаться вставить в какое-нибудь другое поле... оно не вставляется,
    при этом на шаблоне появляется новый экземпляр объекта Picture.
    Если сделать копирование - вставку через контекстное меню редактора свойств, то работает нормально.
    4. Работает, но только для первой картинки из источника данных, для остальных изображений размер Picture не меняется.
    +5. При режиме SizeMode = AutoSize если объект Picture увеличивает свои размеры все объекты находящиеся под ним не сдвигаются вниз,
    а выводятся прямо не нем.

    пока вроде все...
  • отредактировано 05:42
    2) Вообще-то работает. Надо только у Picture установить SizeMode = AutoSize. Только в этом случае объект может сжиматься.
    вот это
    написал:
    Picture становится невидимым, а вот бенд на котором он выводится при установленом свойстве "Может сжиматься" не сжимается.
    поправлю.
    3) срабатывает команда copy/paste у дизайнера. Подумаю, как исправить.
    4) поправлю.
    5) это, к сожалению, непоправимо. Разместите объекты на разных дочерних бэндах, либо используйте объект "Таблица".
  • отредактировано 05:42
    AlexTZ написал: »
    2) Вообще-то работает. Надо только у Picture установить SizeMode = AutoSize. Только в этом случае объект может сжиматься.

    Если установлены ограничения на размер Picture, то работает, но только для первой картинки из источника (см. п. 4).

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.