Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DrawToBitmap 
:(
    Опции темы
xTr1m
Дата 8.2.2009, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Здравствуйте, пытаюсь осуществить печать самодельного контролла. Поискал способы, наткнулся на вариант с сохранением изображения в Bitmap, сохранения этого изображения на диск и дальнейшей печати. И все бы ничего, но есть проблема. Делаю так:

Код

// сохраняю в bitmap
Bitmap bmp = new Bitmap(this.Width, this.Height);
editDOU.Invalidate();
DrawToBitmap(bmp, new Rectangle(0, 0, this.Width, this.Height));

// сохраняю на диск
bmp.Save("c:\\tmp.bmp"); 


Проблема в том, что мой контролл представляет из себя смесь из нарисованных мной линий и разных label + editbox. Так вот когда я открываю 
"c:\tmp.bmp", то вижу, что все отрисовалось нормально кроме текста в editbox'ах. Делал Invalidate всего и контролла и каждого editbox в отдельности - ничего не помогло. Текст не отрисовывается. Как можно решить проблему?



Это сообщение отредактировал(а) xTr1m - 8.2.2009, 19:15
PM MAIL WWW ICQ   Вверх
xTr1m
Дата 8.2.2009, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



Попробовал в мой метод paint копировать изображения editbox'ов:

Код

...
Bitmap bmp = new Bitmap(editDOU.Width, editDOU.Height);
editDOU.DrawToBitmap(bmp, new Rectangle(0, 0, editDOU.Width, editDOU.Height));
g.DrawImage(bmp, new Point(editDOU.Left, editDOU.Top));


Тоже не помогло. Может есть другой более человеческий способ печати?
PM MAIL WWW ICQ   Вверх
xTr1m
Дата 9.2.2009, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 692
Регистрация: 9.2.2005
Где: Москва

Репутация: нет
Всего: 1



В принципе, как я понял, то можно и через PrintDocument, но тогда мне придется делать bitmap кадого label u textbox и, как бы, рисовать их тоже. Но вариант пока не очень так как многовато их там + неудобно будет поддерживать в будущем. Неужели никто никогда не печатал ? ))
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.