2016-08-25 3 views
0

Приложение My C# генерирует Crystal Report, содержащий множество изображений с различным размером, ориентацией и соотношением сторон. Чтобы они отображались правильно в отчете, я использую белый квадратный холст и центрирую изображение внутри. Это делает много неиспользуемого пространства:Программно изменить размер изображения в отчете

enter image description here

Можно ли изменить размер каждого снимка в докладе соответствующего размера из C#? Я нашел способ изменить размер изображений здесь, но я не знаю, могу ли я выполнить эти шаги из C#, особенно когда речь заходит о «Расчет и установка ширины и высоты на правильное количество твипов».

Я знаю размер моего изображения на C#, но может ли он быть передан и реализован в отчете? Изображения находятся в файле xml в формате base64.

Дизайнерский Вид: enter image description here

+0

Просьба представить представление отчета хрустальный вашего отчета не только просмотр – Furtiro

+0

@Furtiro: Изображение добавлено в описании. Я ценю вашу попытку помочь – aleksandaril

+0

Я думаю, что одна из основных проблем, с которой вы столкнетесь, состоит в том, что из-за изображений справа нет возможности полностью заполнить лишнее пространство. Если бы вы разделили столбцы на два подзаголовка, вам может быть повезло больше, но портретные изображения будут оставаться пустыми. – 4444

ответ

0

Хорошо, я не рабочее решение, но идея, которая может помочь вам (и я надеюсь, что это будет)

Я ищется программным способом сделать то, что вы хочу, и я ничего не нахожу. Если вы не можете манипулировать своим FieldObject с помощью C#, он не может использоваться в вашем отчете.

Итак, я постараюсь провести вас с некоторыми экранами, но я французский, и мои экраны будут на французском, поэтому извините за плохие переводы!

Вы можете написать формулу, чтобы изменить отображение вашего BinaryImage в вашем подзаголовке. Я просто нашел способ изменить ширину ваших данных, а не высоту.

Итак, если мое изображение сохранено в таблице «СТАТЬЯ», а имя столбца «ART_IMAGE». Я положил свои данные в разделе детали и создать новую формулу, игнорировать созданную формулу, вы должны получить доступ к «форматирования формул»:

enter image description here

Здесь в моем экране это называется «Formules де Mise en forme ". Слева вы видите мой простой отчет, а справа - панель формул, я нажал на раздел моих подробностей, и я вижу свое единственное поле. Теперь щелкните правой кнопкой мыши на этом поле и создать новое форматирование формулу:

enter image description here

отображается всплывающее, вам нужно выбрать что-то подобное, что в английском « Регулировка ширины»:

enter image description here

Теперь вам нужно вернуть новую ширину текущего изображения, чтобы узнать, что представляет собой текущая ширина, чтобы сохранить его в поле в вашей базе данных. Итак, если в вашей базе данных есть поле для вашего изображения и поле, подобное image_width. В моем примере у меня есть имя поля ART_DIMENSION и я сохраняю ширину изображения. Трудная часть состоит в том, что эта формула принимает два значения не дюйм или см. Для вас информация 1 дюйм = 1440 твипов. Так в моем примере здесь формула:

enter image description here

Таким образом, для каждого изображения для отображения, ширина моего образа будет ширина хранится в «ART_DIMENSIONS» (с хорошим обращенным: дюйм в твипы)

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

Я старался быть предельно ясным, надеюсь, что это поможет вам, задайте мне любые вопросы, если вы что-то не понимаете.

С уважением,

+0

Большое спасибо за ваш ответ. Было здорово учиться, потому что я не знал о возможности изменить ситуацию, и я думаю, что я искал каждую статью там. Однако это не решает мою проблему, потому что это не позволяет манипулировать высота. Я думал, что «Может вырасти» поможет, но тогда кажется, что используется оригинальный размер изображения. Наша цель состоит в том, чтобы устранить пустое пространство над и под изображением, поэтому корректирующая высота - это то, что нам, вероятно, нужно. Когда я снова думаю, что это не поможет, потому что у нас есть 2 изображения в одной строке. Так что это снова будет зависеть от большей высоты ..? – aleksandaril

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