Люди, помогите! Посоветуйте как распечатать график. Есть программа, кот. его строит. Сдавать нужно только принтскрины (без компа). Засунуть график в буфер обмена не получается (я жму на 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 thenbegin
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') div2) - 3, 'Y');
outtextxy(zcrtX+OXYmaxX+(textwidth('X') div2) + 3, zcrtY, 'X');
x:=lgr;
while x<=pgr dobeginif abs(x)<=5thenbegin
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 . повторил снова - тоже самое.