Вниз
Скачать: CL | DM;

Как отрендерить опенгл на принтер?   Найти похожие ветки 

← →
BANick   (2003-03-08 13:18) [0]

Пробовал
HRC := wglCreateContext(DC);
wglMakeCurrent(DC, HRC);
где DC=printer.canvas.handle;
выезжает пустой лист.
Пробовал
b:=tbitmap.Create;
b.Width:=ширина;
b.Height:=высота;
HRC := wglCreateContext(DC);
wglMakeCurrent(DC, HRC);
где ДС это битмап.Канвас.
тут рендеринг
BitBlt(hdcp,0,0,b.width,b.height,b.Canvas.Handle,0,0,SrcCopy);
b.Destroy;

так с битмап остается пустым.
Объясните плиз как ето сделать очень надо.
Заранее благодарен.


← →
BANick   (2003-03-09 18:43) [1]

Ну подскажите ПЛИИИЗ как напечатать из опенгл, очень надо.


← →
[Baradoo]   (2003-03-09 21:18) [2]

Я лично не знаю, но у меня есть идея попроще... Берешь копируешь
часть экрана, где у тебя OpenGL(с помощью copyrect), а потом вставляешь в Битмап, а оттуда уже печатаешь...
Просто, но надежно!


← →
BANick   (2003-03-10 18:43) [3]

незя - область где выводится опенгл 300х150, а на печать надо 10000х50000. а стретч - это потеря качества


← →
pasha676   (2003-03-11 09:20) [4]

Рендеришь в битмап с нужным разрешением потом печатаешь.


← →
BANick   (2003-03-11 18:37) [5]

to pasha676
а как, я пробовал так как написано у меня выше, не получается, битмап остается пустым.


← →
pasha676   (2003-03-12 09:13) [6]

Увы, чистый ОпенГЛ не пробывал (знаю надо - но времени нет :(). Так что ничего посоветовать не могу. Разбей на две подзадачи
1) Рендерим в битмап. Сохрани битмап, кинь в буфер, запиши, выведи в отдельной форме в TIMage - вообщем посмотри на результат в любом виде.
2) Если срендерилось нормально - то распечатать уже должен.




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-33489
Фагот
2003-08-20 12:44
2003.09.11
gbak опять


3-33431
off
2003-08-22 07:45
2003.09.11
Сбоит сервер FB


1-33642
Islander
2003-08-30 21:27
2003.09.11
Как грамотно уничтожить форму, чтобы освободилась память?


4-33844
Dimaxx
2003-07-11 23:05
2003.09.11
Как пользоваться функцией PickIconDlg?


3-33459
SPIRIT
2003-08-20 15:04
2003.09.11
Ошибочный аргумент




   Наверх