![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| izz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.5.2011 Репутация: нет Всего: нет |
Здравствуйте!
Есть Canvas (WPF), заполняемый в процессе работы программы (в том числе изменяется и размер). Стоит задача экспортировать его в файл BMP/PNG. Гугл помог найти несколько вариантов решения, но все они приводят к получению черного BMP файла или прозрачного PNG файла (замечу, что фон Canvas'a задан белым). Например, код:
Что я делаю не так и что можно предпринять? |
|||
|
||||
| izz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.5.2011 Репутация: нет Всего: нет |
Интересно, что этот код, оказывается, нормально ест другую канву. Но чем она принципиально отличается от нужной, мне не понятно.
Та, которую алгоритм ест имеет Auto размеры, а нужная фиксированные, но изменяемые кодом вручную. Вообще опишу задачу, чтобы предотвратить ненужные костыли. Программа рисует WPF'ом различные графики на нескольких закладках TabControl'a. Задача - всех их экспортировать. Размеры Canvas'ов на закладках - Auto, поэтому, пока закладка не будет хоть раз открыта, на соответствующей ей канве ничего рисовать нельзя (неизвестны размеры, а даже если известны рендера все равно не будет, как я понимаю, пока не откроешь вкладку. Отлавливаю момент первого ресайза чтобы нарисовать изображение). Ну вот я подумал что бы экспортировать сделаю канву на текущей закладке и проведу цикл "отрисовка-экмпорт" для всех графиков У меня есть ощущение, что куда-то закрались сильные костыли. Как лучше поступить?) Спасибо! |
|||
|
||||
| izz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.5.2011 Репутация: нет Всего: нет |
А во, заметил, что если целевую канву подвинуть в верхний левый угол, то вроде работает. Делается снимок как бы левого верхнего куска окна с размерами канвы. Из-за чего это может быть?
|
|||
|
||||
| ICEMAN3141592 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 29.12.2009 Репутация: нет Всего: нет |
Привет, нашел в чем косяк ? Сам скоро подобным буду заниматься
|
|||
|
||||
| izz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 2.5.2011 Репутация: нет Всего: нет |
Пока нет, сделал костылём - разместив канву в верхнем левом углу. Если узнаешь в чем тут дело, напиши пожалуйста
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |