Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как записать содержимое окна OpenGL в 'bmp' файл? [D7, WinXP]


PRT ©   (2006-07-06 18:11:00) 

Здрасьте. Вопросик есть, как сохранить содержимое формы, на которой рисуем в OpenGl в файл BMP.Использую код:
                       Bitmap:=TBitmap.Create;
                       Bitmap.Width:=Form1.Width;
                       Bitmap.Height:=Form1.Height;
                       
                       BitBlt(Bitmap.Canvas.Handle, 0, 0, Form1.Width,
                              Form1.Height, Form1.Handle, 0, 0, SRCCOPY); //1

                       {bt.Canvas.CopyRect(ClientRect,Form1.Canvas,
                                          Form1.ClientRect);}             //2

                       Bitmap.SaveToFile(pr_file);
                       Bitmap.Free;

Пробовал оба варианта (//1 и //2).
В //1 сохраняется только белый лист.
В //2 тоже остается белый квадрат Save Dialoga
Что делать???


antonn   (2006-07-06 20:11:00) [1]

PRT   (06.07.06 18:11)
BitBlt(Bitmap.Canvas.Handle, 0, 0, Form1.Width,
                             Form1.Height, Form1.Handle, 0, 0, SRCCOPY or $40000000);

помогло?


Мефисто   (2006-07-06 20:04:00) [2]

Очевидно, что средствами OpenGL и производить копирование. Если я не ошибасю, то опень жль как-бы рабоатет со воим портом вывода изображения. Т.е. GDI о выводимом изображении средством OpenGL знать ничего не знает. Поищи в инете, был (а может еще и есть) проект GLScene или SceneGL (с исходным кодом на дельфе). Там такое вроде точно было, снять скриншот или определенную область.


Наверх

Титульная страница Поиск, карта сайта Написать письмо