Люди, помогите! Посоветуйте как распечатать график. Есть программа, кот. его строит. Сдавать нужно только принтскрины (без компа). Засунуть график в буфер обмена не получается (я жму на PrintScreen, когда график появляется на экране) изображение в буфер не попадает. Подскажите, плз, как можно это сделать. Заранее спасибо.
Модуль для создания скриншотов из любого видеорежима.
Подключи его к программе, и вызывай сохранение в файл там, где нужен скриншот...
Motsart
8.07.2005 21:02
Volvo, спасибо за ответ. Насколько я в курсе модуль перед использованием надо откомпилировать. Немогли бы Вы подсказать (вкрадце), как это сделать.
Дож
8.07.2005 21:19
Цитата
Насколько я в курсе модуль перед использованием надо откомпилировать.
:no: Неа... Подключаешь модуль к своей программе(пишешь в списке после USES), и используешь как скомпилированный модуль... (можешь правда запустить сам модуль и скомпилировать так же как компилируестся прога, но первый способ мне кажется проще)...
Motsart
11.07.2005 16:25
Спасибо, дружище! к моей величайшей радости, всё работает! 2 модератор: обсуждение можно закрывать. всем спасибо.
Mr. Anderson
10.03.2007 0:57
Скопировал bmp_plus.pas ( 9.05 килобайт ) в BPW (Borland Pascal for Windows 7.0), сохранил как BMP_PLUS.TPU , BMP_PLUS.PAS и BMP_PLUS.BAK в C:\BP\BIN. Открыл на BP (Borland Pascal). Скомпилировал этот модуль, добавил end. (Error 10: Unexpected end of file.) , ещё раз скомпилировал Добавил в своей программе uses BMP_PLUS; нажимаю Run > отображается график на чёрном экране > нажимаю PrintScreen (принтер подсоединён и включён, в рабочем состоянии), затем enter - не распечатывает!
Print setup PRNFLTR $NOSWAP /HP
Change directory> Directory name C:\BP\BIN Optrions > Units directories C:\BP\UNITS; Resource directories C:\BP\UNITS;
Операционная система Win XP PRO
Ниже моя программа:
program grafika; Uses Graph,crt,BMP_PLUS; const shag=0.0001; lgr=-5; {nachalnoye znacheniye x} pgr=5; {konechnoye znacheniye x} zcrtX=320; {koordinata x tsentra ekrana} zcrtY=240; {koordinata y tsentra ekrana} mtrX=50; {koefitsent mashtabirovaniya po osi x} mtrY=50; {koefitsent mashtabirovaniya po osi y} colorG=5; {tsvet grafika} colorOXY=11; {tsvet koordinatnij osey} OXYminX=-270; {minimalnoye otobrazhaemoye znacheniye osi x} OXYmaxX=270; {maximalnoye otobrazhaemoye znacheniye osi x} OXYminY=-200; {minimalnoye otobrazhaemoye znacheniye osi y} OXYmaxY=200; {maximalnoye otobrazhaemoye znacheniye osi y} Var grDriver:integer; grMode:integer; ErrCode:integer; x,y:real; i:integer; Begin grDriver:=Detect; InitGraph(grDriver, grMode, ' '); ErrCode:=GraphResult; if ErrCode<>grOk then begin writeln('Oshibka: ',GraphErrorMsg(ErrCode)); readln; halt(100); end; setcolor(colorOXY); line(zcrtX+OXYminX, zcrtY, zcrtX+OXYmaxX, zcrtY); { horz } moveto(zcrtX+OXYmaxX-7, zcrtY-2); lineto(zcrtX+OXYmaxX, zcrtY); lineto(zcrtX+OXYmaxX-7, zcrtY+2); line(zcrtX, zcrtY-OXYminY, zcrtX, zcrtY-OXYmaxY); { vert } moveto(zcrtX - 2, zcrtY-OXYmaxY+7); lineto(zcrtX, zcrtY-OXYmaxY); lineto(zcrtX + 2, zcrtY-OXYmaxY+7); settextjustify(centertext, centertext); outtextxy(zcrtX, zcrtY-OXYmaxY-(textheight('Y') div 2) - 3, 'Y'); outtextxy(zcrtX+OXYmaxX+(textwidth('X') div 2) + 3, zcrtY, 'X'); x:=lgr; while x<=pgr do begin if abs(x)<=5 then begin y:=exp(-0.5*sqr(x)); putpixel(zcrtX+trunc(x*mtrX),zcrtY-trunc(y*mtrY),colorG) end; x:=x+shag; end; readkey; readln; closegraph; end.
Что нужно сделать, чтоб распечатать график.
volvo
10.03.2007 1:03
Цитата
Что нужно сделать, чтоб распечатать график.
ВНИМАТЕЛЬНО читать тему! Сказано - этот модуль снимает СКРИНШОТ, а не позволяет тебе печатать графический экран... Так вот, когда график отрисован (а именно - перед ReadKey) вызывай
, и у тебя в текущей папке должен (если все верно сделал) появиться файл screen.bmp, содержащий твой график... А вот с ним уже делай что хочешь...
Mr. Anderson
10.03.2007 1:24
на скрине просто чёрный экран. (нажимаю printscreen только после того, как он полностью отобразится, после 2 раза enter ). Удалил screen.bmp . повторил снова - тоже самое.
{...} while x<=pgr do begin if abs(x)<=5 then begin y:=exp(-0.5*sqr(x)); putpixel(zcrtX+trunc(x*mtrX),zcrtY-trunc(y*mtrY),colorG) end; x:=x+shag; end;