Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Графика в Windows Forms

27K
30 апреля 2007 года
PrestuPnik
6 / / 28.04.2007
как можно рисовать сначала в память - а потом разом на контрол на форму вывести?

а то если много всего выводить сразу на форму - моргает.

я думал сначала так:

Graphics ^g=e->Graphics;

но он сразу связывает их и при выводе в g выводится сразу на контрол который e->Graphics - не очень практично.
5
02 мая 2007 года
hardcase
4.5K / / 09.08.2005
Как вариант, можно рисавать на битмапе:
 
Код:
using(Bitmap bmp = new Bitmap(width, height)) {
  usin(Graphics gfx= Graphics.FromImage(bmp)) {
    // рисуем на битмапе (т.е. в памяти)
    // чего хотим
  }
  using(Graphics formGfx = your_control.CreateGraphics()) {
  // выводим на контрол наш битмап
    formGfx.DrawImage(bmp, x, y);
  }
}


Если ты печёшься о производительности рисования, то GDI+ не самый лучший выбор.
DirectDraw намного шустрее.
27K
03 мая 2007 года
PrestuPnik
6 / / 28.04.2007
спасибо за примерчик - насчет DirectDraw учту - возможно его и придется использовать - так как в проекте оч много вывода графики за короткие промежутки времени

где можно про DirectDraw почитать кроме MSDN Library - а лучше книжечку с примерами на С++ - если у кого есть

заранее спс
273
05 мая 2007 года
3A3-968M
1.2K / / 22.12.2005
Смешивать DirectX и .NET - коктейль не для слабых организмов))) Но для этого есть Managed DirectX - обёртки COM-интерфейсов для управляемого кода. Ещё лучше попробовать XNA - специальные средства для создания игр (а значит и рисования) под .NET.
27K
05 мая 2007 года
PrestuPnik
6 / / 28.04.2007
я тут узнал - оказывается в DirectDraw нет возможностей отрисовки примитивов - да и сложновато для меня будет - так что вернулся к GDI+ - для моего проекта надеюсь все таки хватит его возможностей и производительности (собсна проект рисования графика звукового сигнала .wav и его частотного спектра - если у кого есть готовые примеры мне бы очень они пригодились - особенно по работе с .wav файлами)

всем спасибо за отклик на проблему...
242
05 мая 2007 года
Оlga
2.2K / / 04.02.2006
Цитата: PrestuPnik
как можно рисовать сначала в память - а потом разом на контрол на форму вывести?

а то если много всего выводить сразу на форму - моргает.



как насчет свойства DoubleBuffered? установи это свойство в true у контрола на котором рисуешь.

27K
06 мая 2007 года
PrestuPnik
6 / / 28.04.2007
DoubleBuffered установил - иногда не спасает - при большом количестве вывода графики и изменении размеров все равно картинка дрожит - не приятно выглядит хоть и не моргает уже...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог