ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π“Ρ€Π°Ρ„ΠΈΠΊΠ°. 
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: delphi

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ…, Ρƒ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ ΡΡ‡ΠΈΡ‚аСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (0, 0), ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ Ρ… ΠΈΠ΄Π΅Ρ‚ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π° ΠΏΠΎ ΠΎΡΠΈ Ρƒ — свСрху Π²Π½ΠΈΠ·. Для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ указываСтся Ρ†Π²Π΅Ρ‚. Ѐункция RGB () Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π²Π΅Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ интСнсивности красного, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΈΠ½Π΅Π³ΠΎ (ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ задаСтся числом ΠΎΡ‚ 0 Π΄ΠΎ 255). НапримСр, Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ — RGB (0, 0, 0), красный — RGB (255, 0… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π“Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: delphi (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Для рисования статичных рисунков ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ PaintBox (панСль System). Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ размСщаСтся Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°, ΠΈ Π² Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ. РисованиС выполняСтся ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠ²ΠΎΠΉΡΡ‚Π²Ρƒ Canvas (графичСская ΠΊΠ°Π½Π²Π° ΠΈΠ»ΠΈ холст) этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°: PaintBoxl.Canvas. Π£ Π½Π΅Π³ΠΎ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π΅ΡΡ‚ΡŒ свойство Pixels (PaintBoxl.Canvas.Pixels), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт собой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° — ΠΏΠΎΡ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΊΠ°Π½Π²Ρ‹, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт — ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°. Π’ Pixels [] отсчСт Ρ‚ΠΎΡ‡Π΅ΠΊ (пиксСлов экрана) начинаСтся с 0.

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ…, Ρƒ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ ΡΡ‡ΠΈΡ‚аСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (0, 0), ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ Ρ… ΠΈΠ΄Π΅Ρ‚ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Π° ΠΏΠΎ ΠΎΡΠΈ Ρƒ — свСрху Π²Π½ΠΈΠ·. Для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ указываСтся Ρ†Π²Π΅Ρ‚. Ѐункция RGB () Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π²Π΅Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ интСнсивности красного, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΈΠ½Π΅Π³ΠΎ (ΠΈΠ½Ρ‚Π΅Π½ΡΠΈΠ²Π½ΠΎΡΡ‚ΡŒ задаСтся числом ΠΎΡ‚ 0 Π΄ΠΎ 255). НапримСр, Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ — RGB (0, 0, 0), красный — RGB (255, 0, 0), синий — RGB (0, 0, 255), Π±Π΅Π»Ρ‹ΠΉ — RGB (255, 255, 255).

Бвойство Canvas Π΅ΡΡ‚ΡŒ Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС Ρƒ Π€ΠΎΡ€ΠΌΡ‹, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

Для рисования Canvas содСрТит мноТСство графичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€ΠΈΡΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ холсту:

  • β€’ Arc — Π΄ΡƒΠ³Π°;
  • β€’ Ellipse — Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ эллипс ΠΈΠ»ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ;
  • β€’ FillRect — Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ;
  • β€’ LineTo — провСсти линию Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ;
  • β€’ MoveTo — ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ;
  • β€’ Rectangle — ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Π°Ρ Ρ€Π°ΠΌΠΊΠ°;
  • β€’ TextOut — Π²Ρ‹Π²ΠΎΠ΄ тСкста.

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΊΠ°Π½Π²Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами.

  • 1. Π Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ PaintBox.
  • 2. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΊΠ°Π½Π²Ρƒ 300 красными Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π² ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Ρ… позициях ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚иям Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ.
Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Рис. 73. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

  • 3. Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.
  • 4. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ наТатия, procedure TForml. ButtonlClick (Sender: TObject);

var i, x, y: Integer; begin

randomize;

for i := 1 to 300 do begin

x := random (100); Ρƒ := random (100);

PaintBoxl.Canvas.Pixels[x, y] := RGB (255,0,0); end

end;

  • 5. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ RGB (255, 0, 0) Π½Π° RGB (random (255), random (255), random (255)).
  • 6. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°Π½Π²Ρ‹ FillRect. ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области Π·Π°Π»ΠΈΠ²ΠΊΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΌ:

FillRect (Rect (0, 0, 100, 100)) // ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ.

// ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»ΠΎΠ².

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Рис. 74. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

Π’Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ слово Rect Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½ΠΎΠ΅ Ρ‚ΠΈΠΏΠ° «ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ». ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ FillRect Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ:

PaintBoxl.Canvas.Brush.Color := RGB (0, 0, 0);

Π€ΠΎΠ½ ΠΊΠ°Π½Π²Ρ‹.

Рис. 75. Π€ΠΎΠ½ ΠΊΠ°Π½Π²Ρ‹

procedure TForml. ButtonlClick (Sender: TObject); var

i, x, y: Integer; begin

PaintBoxl.Canvas.Brush.Color := RGB (0, 0, 0); PaintBoxl. Canvas. FillRect (Rect (0, 0, 100, 100));

for i := 1 to 300 do begin

x := random (100);

Ρƒ := random (100);

PaintBoxl.Canvas.Pixels[x, y] :=.

RGB (random (255)j random (255), random (255));

end

end;

7. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°Π½Π²Ρƒ случайными Ρ€Π°Π·Π½ΠΎΡ†Π²Π΅Ρ‚Π½Ρ‹ΠΌΠΈ линиями Ρ€Π°Π·Π½ΠΎΠΉ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹. Линия рисуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (сначала задаСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΏΠΎΡ‚ΠΎΠΌ конСчная):

PaintBoxl.Canvas.MoveTo (10,10);

PaintBoxl.Canvas.LineTo (50,50);

Π¦Π²Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ свойством ΠΊΠ°Π½Π²Ρ‹ Π Π΅ΠΏ (ΠΊΠ°Ρ€Π°Π½Π΄Π°Ρˆ). Pen. Color — Ρ†Π²Π΅Ρ‚ ΠΊΠ°Ρ€Π°Π½Π΄Π°ΡˆΠ°, Pen. Width — Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ… (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — 1).

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ линиями.

Рис. 76. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ линиями

for i := 1 to 300 do begin

PaintBoxl.Canvas.Pen.Color :=.

RGB (random (255), random (255), random (255)); PaintBoxl.Canvas.Pen.Width := random (3) + 1; x := random (100); Ρƒ := random (100);

PaintBoxl.Canvas.MoveTo (x, y); x := random (100); Ρƒ := random (100);

PaintBoxl.Canvas.LineTo (x, y); end.

8. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°Π½Π²Ρƒ эллипсами случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (ΠΊΡ€ΡƒΠ³ΠΈ, окруТности — частный случай эллипса). Эллипсы Ρ€ΠΈΡΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ellipse () с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»ΠΎΠ² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ эллипс вписываСтся. Π“Ρ€Π°Π½ΠΈΡ†Π° эллипса рисуСтся Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ свойства Π Π΅ΠΏ ΠΊΠ°Π½Π²Ρ‹, Π° Π·Π°Π»ΠΈΠ²Π°Π΅Ρ‚ся эллипс Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠΌ кисти Brush ΠΊΠ°Π½Π²Ρ‹.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ эллипсами.

Рис. 77. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π²Ρ‹ эллипсами

for i := 1 to 300 do begin

// Ρ†Π²Π΅Ρ‚ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°ΠΉΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ эллипса PaintBoxl.Canvas.Pen.Color :=.

RGB (random (255), random (255), random (255));

PaintBoxl.Canvas.Pen.Width := random (3) + 1;

// Ρ†Π²Π΅Ρ‚ Π·Π°Π»ΠΈΠ²ΠΊΠΈ внутрСнности эллипса PaintBoxl.Canvas.Brush.Color :=.

RGB (random (255), random (255), random (255));

// ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΡƒΠ³Π»ΠΎΠ² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вписываСтся эллипс Ρ… := random (150); Ρƒ := random (150); Ρ…2 := random (150); Ρƒ2 := random (150);

// вписываСм эллипс

PaintBoxl.Canvas.Ellipse (x, Ρƒ, Ρ…2, Ρƒ2); end;

  • 9. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°Π½Π²Ρƒ Π½Π° Π²Π΅ΡΡŒ экран. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡ†Π²Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ Π² ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Ρ… позициях ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ FillRectO.
  • 10. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ графичСский ΠΎΠ±Ρ€Π°Π· Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ мноТСства Π–ΡŽΠ»ΠΈΠ°.

procedure TForml. ButtonlClick (Sender: TObject); var

RE, IM, RE1, IM1: REAL;

V, X, Y: INTEGER;

// Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° procedure PUTPIXEL (X, Y, с: INTEGER); var

cc: TColor; begin

case c mod 8 of

0:

cc := clBlack;

1:

cc := clRed;

2:

cc := clLime;

3:

cc := clYellow;

4:

cc := clBlue;

5:

cc := clFuchsia;

6:

cc := clAqua;

7:

cc := clWhite;

end;

PaintBoxl.Canvas.Pixels[X, Y] := cc; end;

procedure QWA; begin

RE1 := RE * RE — IM * IM;

IM1 := 2 * RE * IM;

RE := RE1;

IM := IM1; end;

procedure KUB; begin

RE1 := RE * (RE * RE — 3 * IM * IM);

IM1 := IM * (3 * RE * RE — IM * IM);

RE := RE1;

IM := IM1; end;

begin

PaintBoxl.Canvas.Brush.Color := rgb (0j 0, 0); PaintBoxl.Canvas.FillRect (Rect (0j 0, 640, 480)); X := -320; repeat

Y := -240; repeat V := 0;

RE := -1. + 0.001 * X;

IM := 0 + 0.001 * Y; repeat KUB;

RE := RE + 1.3;

IM := IM + 1.1 828 201 638;

if RE * RE > 50 then break;

if IM * IM > 50 then break;

V := V + 1; until V > 40;

if (ABS (RE) > 10) or (ABS (IM) > 1000) then begin.

PUTPIXEL ((X + 320), (Y + 240), TRUNC (V)); end else.

PUTPIXEL ((X + 320), (Y + 240), 0);

Y := Y + 1; until Y > 241;

X := X + 1; until X > 320;

End;

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ