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

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

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

> Графика в Паскале
Logan
сообщение 8.08.2005 13:52
Сообщение #1





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

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


НАРОД ПОМОГИТЕ!!! Только начал недавно заниматься PASCALем и дошел до графики. Вопросов у меня будет много!!! для начала: как нарисовать вот этот рисунок


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
Logan
сообщение 8.08.2005 13:58
Сообщение #2





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

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


Второй вопрос такой: /-/-/-/:


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.08.2005 14:10
Сообщение #3


Гость






Для начала - НЕ надо постить в чужие темы !!! И второе - "одна тема - один вопрос".
 К началу страницы 
+ Ответить 
klem4
сообщение 8.08.2005 14:26
Сообщение #4


Perl. Just code it!
******

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

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


Первая достаточно просто

uses crt,graph;

var
x,y,d,r : word;

procedure GrInit;
var
gD,gM,gE:integer;
begin

gD:=detect;
InitGraph(gD,gM,'');
gE:=GraphResult;

if gE<>grOk then begin
writeln('Error = ', GraphErrorMsg(gE));
halt(1);
end;
end;


Begin

GrInit;

SetColor(Yellow);

x:=GetMaxX div 2;
y:=GetMaxY div 2;

r:=50;

d:=r-10;



Circle(x, y, r);

Rectangle(x-d,y-d,x+d,y+d);

SetFillStyle(1,white);

FloodFill(x,y,yellow);

readln;

CloseGraph;
End.


щас нарисую второй.

Сообщение отредактировано: klem4 - 8.08.2005 14:58


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 8.08.2005 15:12
Сообщение #5


Perl. Just code it!
******

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

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


вторая

uses crt,graph;

var
x,y,d,r : word;

procedure GrInit;
var
gD,gM,gE:integer;
begin

gD:=detect;
InitGraph(gD,gM,'');
gE:=GraphResult;

if gE<>grOk then begin
writeln('Error = ', GraphErrorMsg(gE));
halt(1);
end;
end;


Begin

GrInit;

SetColor(Yellow);

x:=GetMaxX div 2;
y:=GetMaxY div 2;

r:=100;

d:=r-10;

Circle(x, y, r);

Rectangle(x-d,y-d,x+d,y+d); // маленький

Rectangle(x-r-10,y-r-10,x+r+10,y+r+10); // большой

SetColor(Yellow);

{
За отправные точки для закришивания маленьких
треугольников я взял вершины меньшего прямоугольника
}

SetFillStyle(1,red);
FloodFill(x,y,Yellow); // внутри окружности

SetFillStyle(1,Green);
FloodFill(x+d-1,y-d+1,Yellow); // правый верхний

SetFillStyle(1,white);
FloodFill(x-d+1,y-d+1, Yellow); // левый верхний

SetFillStyle(1,Blue);
FloodFill(x+d-1,y+d-1, Yellow); // правый нижний

SetFillStyle(1,LightBlue);
FloodFill(x-d+1,y+d-1, Yellow); // левый нижний

readln;

CloseGraph;
End.



ps
я сам первый раз такую фигню рисовал, открой учебник по паскалю и посмотри ф-и и процедуры для работы с цветами и заливкой. Все достаточно просто.

Сообщение отредактировано: klem4 - 8.08.2005 15:12


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 8.08.2005 15:20
Сообщение #6


Гость






klem4, опять программы ПОЛНОСТЬЮ??? Ну пускай уже сами думать начинают, в конце-то концов!
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 22.06.2025 15:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"