
Другие языки программирования и технологии
Нарисуйте дом в PascalABC

uses graphABC;
var i: byte;
begin
SetWindowCaption('ru');
SetWindowSize(1100,800);
SetBrushColor (clYellow);
FillCircle (150,150,50);
SetPenColor (clYellow);
SetPenWidth (5);
for i:=1 to 12 do
begin
MoveTo (150,150);
LineTo (150+Round(120*sin(Pi*2/12*i)),150+Round(120*cos(Pi*2/12*i)));
end;
SetPenColor (clBrown);
SetBrushColor (clwhite);
SetPenWidth (2);
Rectangle (700,800,1000,400);
Rectangle (750,700,950,500);
Line (850,500,850,700);
Line (750, 600, 950, 600);
Line (700,400,850,250);
Line (850,250, 1000,400);
//ступень
MoveTo (550,800);
LineTo (550,750);
LineTo (600,750);
LineTo (600,700);
LineTo (650,700);
LineTo (650,650);
LineTo (700,650);
Circle (850,350,20);
//труба
MoveTo (900,300);
LineTo (900,200);
LineTo (950,200);
LineTo (950,350);
SetPenColor (clLightBlue);
SetBrushColor (cllightBlue);
for i:=1 to 10 do
Ellipse (300+Random(200), 150+Random(100), 750-Random(50), 300-Random(50));
for i:=1 to 5 do
FillCircle (915+i*25, 200-i*25, 20-2*i);
end.
var i: byte;
begin
SetWindowCaption('ru');
SetWindowSize(1100,800);
SetBrushColor (clYellow);
FillCircle (150,150,50);
SetPenColor (clYellow);
SetPenWidth (5);
for i:=1 to 12 do
begin
MoveTo (150,150);
LineTo (150+Round(120*sin(Pi*2/12*i)),150+Round(120*cos(Pi*2/12*i)));
end;
SetPenColor (clBrown);
SetBrushColor (clwhite);
SetPenWidth (2);
Rectangle (700,800,1000,400);
Rectangle (750,700,950,500);
Line (850,500,850,700);
Line (750, 600, 950, 600);
Line (700,400,850,250);
Line (850,250, 1000,400);
//ступень
MoveTo (550,800);
LineTo (550,750);
LineTo (600,750);
LineTo (600,700);
LineTo (650,700);
LineTo (650,650);
LineTo (700,650);
Circle (850,350,20);
//труба
MoveTo (900,300);
LineTo (900,200);
LineTo (950,200);
LineTo (950,350);
SetPenColor (clLightBlue);
SetBrushColor (cllightBlue);
for i:=1 to 10 do
Ellipse (300+Random(200), 150+Random(100), 750-Random(50), 300-Random(50));
for i:=1 to 5 do
FillCircle (915+i*25, 200-i*25, 20-2*i);
end.
Зачем мне этот дом?
Нарисуй что хотел в редакторе, сохрани в файл и используй
{$resource 'МояКартинка. jpg'}//эта строка говорит компилятору что эту картинку тоже надо компилировать;
//После компиляции картинка будет внутри exe файла;
uses GraphABC,System.Drawing;
//Чтобы обратится к этой картинке в коде программы потребуется переменная типа Bitmap;
//Тип Bitmap есть в модуле System.Drawing;
var bm:Bitmap;
begin
// Cоздаёт картинку из ресурса программы и присваивает её переменной bm;
bm:= new bitmap(image.FromStream(GetResourceStream('МояКартинка. jpg')));//Пользуемся картинкой!!!
//GraphWindowGraphics.DrawImage(bm,0,0); //так можно вывести картинку (Bitmap) на экран;
//--------------------------------------------------------------------------------------
//В GraphABC Bitmap почти нигде не используется, значит далее создаём переменную (Picture);
var p:Picture;
//Обычного конструктора по созданию Picture из Bitmap нету, придётся использовать инструменты у Picture;
//Для этого создаём пустую p(Picture) с размерами bm(Bitmap);
p:= new Picture(bm.Width,bm.Height);
//Помещаем в неё картинку копированную из bm(Bitmap);
p.CopyRect(new System.Drawing.Rectangle(0,0,p.Width,p.Height),bm,new System.Drawing.Rectangle(0,0,p.Width,p.Height));
p.Draw;//Пользуемся картинкой!!!
end.
{$resource 'МояКартинка. jpg'}//эта строка говорит компилятору что эту картинку тоже надо компилировать;
//После компиляции картинка будет внутри exe файла;
uses GraphABC,System.Drawing;
//Чтобы обратится к этой картинке в коде программы потребуется переменная типа Bitmap;
//Тип Bitmap есть в модуле System.Drawing;
var bm:Bitmap;
begin
// Cоздаёт картинку из ресурса программы и присваивает её переменной bm;
bm:= new bitmap(image.FromStream(GetResourceStream('МояКартинка. jpg')));//Пользуемся картинкой!!!
//GraphWindowGraphics.DrawImage(bm,0,0); //так можно вывести картинку (Bitmap) на экран;
//--------------------------------------------------------------------------------------
//В GraphABC Bitmap почти нигде не используется, значит далее создаём переменную (Picture);
var p:Picture;
//Обычного конструктора по созданию Picture из Bitmap нету, придётся использовать инструменты у Picture;
//Для этого создаём пустую p(Picture) с размерами bm(Bitmap);
p:= new Picture(bm.Width,bm.Height);
//Помещаем в неё картинку копированную из bm(Bitmap);
p.CopyRect(new System.Drawing.Rectangle(0,0,p.Width,p.Height),bm,new System.Drawing.Rectangle(0,0,p.Width,p.Height));
p.Draw;//Пользуемся картинкой!!!
end.
Vova Postel
Что-то слишком сложно
Похожие вопросы
- Почему почти все задания по программированию на ответах требуют решения на PascalABC?
- Простая школьная задача в PascalABC
- Как создать компьютерного червя на PascalABC.NET и на других языках программирования или опишите структуру червя.
- С помощью какой программы можно нарисовать такие картинки ?
- Люди я собираюсь учить компьютерный язык и у меня вопрос,что лучше...PascalABC или Visual Basic.Net???
- PascalABC.NET Графика и анимация простейший уровень, не хочет выполняться процедура, (помогите новичку)
- PascalABC.NET Графика, движение объекта после нажатия клавиши
- чем отличается Delphi 7 от PascalABC.net ???
- программка на PascalABC
- Помогите с прогой на PascalABC