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

> Правила раздела!

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

 
 Ответить  Открыть новую тему 
> graphics output
сообщение
Сообщение #1


Гость






I have a program that outputs some graphics to screen using graph.tpu(plot,dots, thise sort of things). I need to print thise output. Is there some way to output graphics to file?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

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

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


Of course есть. А ты англичанин что-ли??  ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






No. I just don't have kyrrilick fonts and prefere good english 2 poor russian.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


...
*****

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

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


Вот и весь разговор  8)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Ну например сделай скрин активного окна (насколько я понимаю, ты все-таки в винде сидишь), потом в пэйнте чуть инвертни цвета и печатай.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

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

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


Я так понял тебе нужно в файл слить инфу с экрана?!
Дык:
1. Выложи исходник.
2. Или хотя бы скажи номер видеорежима...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






номер видеорежима? Whats that?  :-[

исходник:

uses crt,graph;
var i,j,n,x0,y0,xend,yend,xbeg,ybeg,grd,grm:integer;
temp,sumx,sumxx,sumy,sumyy,sumxy,a,al,bl:real;
x,y: array[1..500] of integer;
begin
clrscr;
grD:= Detect;
InitGraph(grD, grM,' ');
randomize;
n:=200;
sumx:=0;
sumxx:=0;
sumy:=0;
sumyy:=0;
sumxy:=0;
{imitation of sample group}
for i:=1 to n do begin
x[i]:=random(170)+1;
y[i]:=random(150);
end;
for i:=1 to n do begin
sumx:=sumx+x[i];
sumy:=sumy+y[i];
sumxx:=sumxx+x[i]*x[i];
sumyy:=sumyy+y[i]*y[i];
sumxy:=sumxy+x[i]*y[i];
end;
A:=n*sumxx-sqr(sumx);
al:=1/a*(n*sumxy-sumy*sumx);
bl:=1/a*(sumxx*sumy-sumxy*sumx);
outtext('the minimum square method');
y0:=gety+250;
x0:=getx-100;
line(x0,y0,x0+200,y0);
line(x0,y0,x0,y0-200);
outtextxy(x0-15,y0-180,'y');
outtextxy(x0+180, y0+10, 'x');
for i:=1 to n do
putpixel(x[i]+x0,-y[i]+y0, magenta);
xbeg:=x0;
ybeg:=y0-round(bl);
xend:=x0+170; {the biggest value of x that can be}
yend:=y0-round(al*xend+bl);
line(xbeg,ybeg,xend,yend);
readln;
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

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

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


Оооо, вот и по-русски научился!  ;)

Для записи сгенеренного тобой растра в файл нужно всего лишь добавить несколько строк (выделены слэшами):

Код

uses crt,graph;
var
  i,j,n,x0,y0,xend,yend,xbeg,ybeg,grd,grm:integer;
  temp,sumx,sumxx,sumy,sumyy,sumxy,a,al,bl:real;
  x,y: array[1..500] of integer;
\\\\\\\\\\\\\\
  P:Pointer;
  Sz:Word;
  F:File;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
begin
clrscr;
grD:= Detect;
InitGraph(grD, grM,' ');
randomize;
n:=200;
sumx:=0;
sumxx:=0;
sumy:=0;
sumyy:=0;
sumxy:=0;
{imitation of sample group}
for i:=1 to n do begin
x[i]:=random(170)+1;
y[i]:=random(150);
end;
for i:=1 to n do begin
sumx:=sumx+x[i];
sumy:=sumy+y[i];
sumxx:=sumxx+x[i]*x[i];
sumyy:=sumyy+y[i]*y[i];
sumxy:=sumxy+x[i]*y[i];
end;
A:=n*sumxx-sqr(sumx);
al:=1/a*(n*sumxy-sumy*sumx);
bl:=1/a*(sumxx*sumy-sumxy*sumx);
outtext('the minimum square method');
y0:=gety+250;
x0:=getx-100;
line(x0,y0,x0+200,y0);
line(x0,y0,x0,y0-200);
outtextxy(x0-15,y0-180,'y');
outtextxy(x0+180, y0+10, 'x');
for i:=1 to n do
putpixel(x[i]+x0,-y[i]+y0, magenta);
xbeg:=x0;
ybeg:=y0-round(bl);
xend:=x0+170; {the biggest value of x that can be}
yend:=y0-round(al*xend+bl);
line(xbeg,ybeg,xend,yend);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Sz:=ImageSize(0,0,300,280);
GetMem(P,Sz);
GetImage(0,0,300,280,P^);
Assign(F,'image.dat');
ReWrite(F,1);
BlockWrite(F,P^,Sz);
Close(F);
{-------------------------}
Assign(F,'image.dat');
Reset(F,1);
BlockRead(F,P^,Sz);
SetTextStyle(TriplexFont,HorizDir,4);
OutTextXY(30,300,'Save image to file...press any key');
ReadLn;
ClearDevice;
PutImage(30,20,P^,1);
OutTextXY(30,300,'Image was read from file...');
FreeMem(P,Sz);
readln;
end.
\\\\\\\\\\\\\\



P.S.: А номер видеорежима это и есть номер видеорежима; каждый режим типа характеризуется своим разрешением, глубиной цвета, графический или текстовый и все такое...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата
Оооо, вот и по-русски научился!  

Copy pasty works fine. smile.gif

thanx for the advice.

Ok, now I got that image.dat file but  I can't open it with any program. and I need thise image 2 b printed.
Oooh, I feel so dumb...  :'(
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Профи
****

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

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


ДыК, фишка-то в том, что это просто ДАМП экрана...
Завтречка напишу, чтобы сохраняло в формате BMP или PCX.  :)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Can I see thise imagr in Dos? Through nc or something?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Нет. Только Вашей программой.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






hm... So how can I send it to printer?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Профи
****

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

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


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

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

 





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