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

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

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

> заливка области
Цифровой_Aнгел
сообщение 28.03.2010 11:41
Сообщение #1


Новичок
*

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

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


Залить каждый из внутренних кругов любыми стилем и цветом.помогите пожалуста=(( unsure.gif



Program Circle3;
Uses CRT, Graph;

const
R=185;

var
x0,y0,n,i,k,Color:integer;
driver,regim,error: integer;
a,b:word;
Info:FillSettingsType;
Begin
clrscr;
Detectgraph(driver,regim);
Initgraph(driver,regim,'G:\TP7\BGI');
Error:=GraphResult;
if Error <> grOK then
begin
writeln(GraphErrorMsg(Error));
Halt(Error)
end;

GetAspectRatio(a,b);
x0:=GetMaxX div 2;
y0:=GetMaxY div 2;
SetAspectRatio(GetMaxX-a*x0 div 2,GetMaxY-b*y0);
SetLineStyle(0,0,3);
SetColor(LightGreen);
Circle(x0,y0,R);


Circle(420,225,190 div 2-9);

Circle(260,142,190 div 2-9);

Circle(280,353,190 div 2-9);


readln;
CloseGraph;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 28.03.2010 12:57
Сообщение #2


Гость






Цитата
а контроль я не отключала.
А он по умолчанию отключен (без него программы меньше по размеру и более быстрые получаются). Так вот включи контроль, и никогда, пока программа не станет полностью работоспособной, не отключай smile.gif Максимум, что можно делать - это выключать проверки для того, чтобы скомпилировать релиз-версию (в смысле, окончательную и уже полностью отлаженную).

Цитата
что с этим делать?
Обходиться без SetAcpectRatio:
Program Circle3;
Uses Graph;

const
R = 185;
R2 = 190 div 2 - 9;

var
x0,y0: integer;
driver, regim, error: integer;
a, b: Word;
Begin
Detectgraph(driver,regim);
Initgraph(driver,regim,'');
Error:=GraphResult;
if Error <> grOK then
begin
writeln(GraphErrorMsg(Error));
Halt(Error)
end;

GetAspectRatio(a,b);
SetLineStyle(SolidLn, 0, ThickWidth);
SetColor(LightGreen);

x0 := GetMaxX div 2;
y0 := GetMaxY div 2;

SetfillStyle(LineFill, Red);
FillEllipse(x0, y0, R, Trunc((a / b) * R));

SetfillStyle(HatchFill, Yellow);
FillEllipse(420, 225, R2, Trunc((a / b) * R2));
FillEllipse(260, 142, R2, Trunc((a / b) * R2));
FillEllipse(280, 353, R2, Trunc((a / b) * R2));

readln;
CloseGraph;
end.
Никаких ошибок, никаких эллипсов... Странно, правда? Рисуешь Circle (окружность) - получаешь эллипс. Рисуешь FillEllipse (заполненный эллипс) - получаешь окружность smile.gif...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Цифровой_Aнгел   заливка области   28.03.2010 11:41
volvo   Ну, допустим, залить-то не проблема (для этого дос...   28.03.2010 11:54
Цифровой_Aнгел   эм....всмысле вылетает? у меня всё нормально :blin...   28.03.2010 12:02
volvo   Значит, контроль границ отключен... Не надо этого ...   28.03.2010 12:08
Цифровой_Aнгел   ну у кого окружности, а у кого и эллипсы :D а кон...   28.03.2010 12:24
volvo   А он по умолчанию отключен (без него программы мен...   28.03.2010 12:57
Цифровой_Aнгел   не странно :wink: и получились...эллипсы ^_^   28.03.2010 13:24
volvo   Ну, если тебе надо обеспечить окружности, а не элл...   28.03.2010 13:38
Цифровой_Aнгел   Всё равно эллипсы :wacko:   28.03.2010 13:58
Nike0   Всё равно эллипсы :wacko: хм, если честно, ради...   28.03.2010 14:11
volvo   А вот теперь - НЕ ВЕРЮ! (С)... Проверено на 4-...   28.03.2010 14:03
volvo   Посмотри выше, я прилепил скриншот... Это что, элл...   28.03.2010 14:12
Unconnected   Вот это: uses graph; const r=185; r2=190 div...   28.03.2010 14:35
volvo   Еще раз: Чему равны значения A и B после вызова Ge...   28.03.2010 14:51
Unconnected   В последнем коде нету GetAspectRatio. Но вот после...   28.03.2010 15:02
volvo   Unconnected Попробуй добавить GetAspectRatio... Вс...   28.03.2010 15:06
Unconnected   По 10000 тоже.   28.03.2010 15:15
Цифровой_Aнгел   не знаю чем повлияло создание ехе-шника, но после ...   28.03.2010 15:39


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

 



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