IPB
ЛогинПароль:

> Как рисовать на форме?((-:, трехмерные игры!(-:
BlackNightFear
сообщение 29.11.2004 1:14
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Хочу взяться за игрушку... но хочется чего-то быстрого и скорее всего трехмерного. Выводит через канву на TImage компонент по-моему не выход... тормозить скорее всего будет... так как же тогда??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Бродяжник
сообщение 6.12.2004 11:02
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Это не я имел в виду, а г-н Краснов.
Цитата
Вывод на компоненты Delphi средствами OpenGL
Теоретически с помощью функций OpenGL можно осуществлять вывод не только на поверхность формы, но и на поверхность любого компонента, если у него имеется свойство Canvas. Handle, для чего при получении ссылки на контекст воспроизведения необходимо указывать ссылку на контекст устройства, ассоциированную с нужным компонентом, например, image1. Canvas. Handle. Однако чаще всего это приводит к неустойчивой работе, вывод то есть, то нет, хотя контекст воспроизведения присутствует и не теряется. OpenGL прекрасно уживается с визуальными компонентами, так что чаще всего нет необходимости осуществлять вывод на поле не формы, а компонента Delphi. Вывод можно осуществить и на поверхность панели - компонента, вообще не имеющего свойства canvas. Для этого мы пользуемся тем, что панель имеет отдельное окно:

dc: = GetDC (Panell. Handle);
SetDCPixelFormat(dc);
hrc: = wglCreateContext(dc);

Аналогичным образом можно организовать вывод на поверхность любого компонента, имеющего свойство Handle (т. e. имеющего самостоятельное окно), например, на поверхность обычной кнопки.
Для вывода на компонент класса TImage можете записать.
dc: = Imagel. Canvas. Handle;
и удалить строки BeginPaint и EndPaint, поскольку класс TImage не имеет
свойства Handle, т. e. не создает отдельного окна. Однако вывод на компоненты, подобные компонентам класса Timage, т. e. не имеющие свойства Handle, отличается полной неустойчивостью

И вот мне самому удалось рисовать на панельке, а на Image - нет.

Сообщение отредактировано: Бродяжник - 6.12.2004 11:02
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 23:07
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"