IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Печать графиков и рисунков, Как сделать ПринтСкрин для графика
сообщение
Сообщение #1


Гость






Люди, помогите! Посоветуйте как распечатать график. Есть программа, кот. его строит. Сдавать нужно только принтскрины (без компа). Засунуть график в буфер обмена не получается blink.gif (я жму на PrintScreen, когда график появляется на экране) изображение в буфер не попадает. Подскажите, плз, как можно это сделать. Заранее спасибо.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Вот тут: Модули для вывода графики лежит
Цитата
Модуль для создания скриншотов из любого видеорежима.
Подключи его к программе, и вызывай сохранение в файл там, где нужен скриншот...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Volvo, спасибо за ответ. Насколько я в курсе модуль перед использованием надо откомпилировать. Немогли бы Вы подсказать (вкрадце), как это сделать.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Цитата
Насколько я в курсе модуль перед использованием надо откомпилировать.

:no: Неа...
Подключаешь модуль к своей программе(пишешь в списке после USES), и используешь как скомпилированный модуль... (можешь правда запустить сам модуль и скомпилировать так же как компилируестся прога, но первый способ мне кажется проще)...


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Спасибо, дружище! к моей величайшей радости, всё работает!
2 модератор: обсуждение можно закрывать.
всем спасибо.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Скопировал 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 - не распечатывает! unsure.gif

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.


Что нужно сделать, чтоб распечатать график.


--------------------
Каждое начало имеет свой конец
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата
Что нужно сделать, чтоб распечатать график.
ВНИМАТЕЛЬНО читать тему! Сказано - этот модуль снимает СКРИНШОТ, а не позволяет тебе печатать графический экран... Так вот, когда график отрисован (а именно - перед ReadKey) вызывай
save_bmp(0, 0, getmaxx, getmaxy, 'screen.bmp', 0);
, и у тебя в текущей папке должен (если все верно сделал) появиться файл screen.bmp, содержащий твой график... А вот с ним уже делай что хочешь...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


no1.gif на скрине просто чёрный экран. (нажимаю 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;

save_bmp(0, 0, getmaxx, getmaxy, 'screen.bmp', 0);

readkey;
readln;
closegraph;
end.


Сообщение отредактировано: Mr. Anderson -


--------------------
Каждое начало имеет свой конец
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Ну, правильно... У тебя же 16-цветный драйвер... Тогда:
save_bmp(0, 0, getmaxx, getmaxy, 'screen.bmp', 1); { <--- 1, а не 0 !!! }


Добавлено через 47 сек.
И еще раз: НЕ НАДО нажимать ВООБЩЕ PrintScreen... Только 2 раза Enter !!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


yes2.gif Спасибо good.gif . Тему Unit expected можно закрыть.


--------------------
Каждое начало имеет свой конец
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.10.2022 2:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name