![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как записать содержимое окна 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 (с исходным кодом на дельфе). Там такое вроде точно было, снять скриншот или определенную область.