Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΠΈΠΊΠ° (ΠΊΡΡΠ³ ΡΠΈΠ½Π΅Π³ΠΎ ΡΠ²Π΅ΡΠ°) Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΠΌΡ Ρ ΠΎΡΡΠΊΠΎΠΊΠΎΠΌ ΠΎΡ Π΅Π΅ Π³ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠ³Π»ΠΎΠΌ 45 Π³ΡΠ°Π΄ΡΡΠΎΠ²: using System; using System. Drawing; using System.Windows.Forms; Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ΅. ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Windows Application. ΠΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΠΎΡΠΌΠ΅ Π½Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ»Π°ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Drawing.Imaging. ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ Image — Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ». ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ Bitmap, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Image, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ BMP, GIF, JPEG, PNG ΠΈ TIFF.
ΠΠ»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° Bitmap, Π»ΠΈΠ±ΠΎ ΠΌΠ΅ΡΠΎΠ΄ FromFile ():
Bitmap bmp = new Bitmap («c:globe.gif'); ΠΈΠ»ΠΈ.
bmp = (Bitmap)Bitmap.FromFile («c:globe.gif);
ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π² ΡΠ°ΠΉΠ» Save (). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
bmp.Save («c:globe.jpg», System.Drawing.Imaging.ImageFormat.Jpeg);
ΠΠ»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Drawlmage (). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Bitmap bmp = new Bitmap («C:globe.gif');
// ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΠΊΠΈ 0,0 g. Drawlmage (bmp, 0,0);
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ΅. ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Windows Application. ΠΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΠΎΡΠΌΠ΅ Π½Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Forma1.cs.
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Sin ()B ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΎΡ -2? Π΄ΠΎ +2?: using System;
using System. Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace FunctionSample{ public partial class Forml: Form { int steps = 200; // ΠΊΠΎΠ»-Π²ΠΎ ΡΠ°Π³ΠΎΠ² public Forml () {.
lnitializeComponent ();
this.SetStyle (ControlStyles.ResizeRedraw, true); this. BackColor = Color. White;
}.
private void Form1_Paint (object sender, PaintEventArgs e) { Graphics gfx = e. Graphics;
Size s = this. ClientSize;
//ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΠΈ Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΠΎ ΠΏΠΎ Y.
gfx.Transform = new Matrix (1,0, 0, -1, s. Width /2, s. Height/2);
//ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ X ΠΈ Y.
gfx.ScaleTransform ((float)(s.Width/15.0), (float) (s.Height/2.5));
// Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΈ ΡΠ°Π³Π°.
double minX — -2* Math. PI;
double maxX = 2 * Math. PI;
double step = (maxX — minX) / steps;
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠ΅Π².
Pen pen = new Pen (Color.Crimson, 0.01 F);
Pen pen1 = new Pen (Color.Black, 0.01 F);
// ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅ΠΉ.
gfx.DrawLine (pen1, -7.5 °F, OF, 7.5 °F, OF); gfx. DrawLine (pen1, OF, -1.25 °F, OF, 1.25F);
// Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ.
PointF p1 = new PointF ((float)minX, (float)Math.Sin (minX)); PointF p2 = new PointF ();
// ΡΠΈΠΊΠ» Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ for (double Ρ = minX; x < maxX; x += step) {.
// Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ 2 ΡΠΎΡΠΊΠΈ p2. X = (float)x; p2. Y = (float)Math.Sin (x); gfx. DrawLine (pen, p1, p2); p1 = p2; // ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² 1 ΡΠΎΡΠΊΠ΅.
}}" .
ΠΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ°Π½Π΅Π΅. ΠΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ (15×2.5), ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Sin () — ΠΎΡ -1 Π΄ΠΎ +1, Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅ ΠΎΡ -2? Π΄ΠΎ +2?.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΠΈΠΊΠ° (ΠΊΡΡΠ³ ΡΠΈΠ½Π΅Π³ΠΎ ΡΠ²Π΅ΡΠ°) Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΠΌΡ Ρ ΠΎΡΡΠΊΠΎΠΊΠΎΠΌ ΠΎΡ Π΅Π΅ Π³ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠ³Π»ΠΎΠΌ 45 Π³ΡΠ°Π΄ΡΡΠΎΠ²: using System; using System. Drawing; using System.Windows.Forms;
namespace MoveBall {.
public partial class Forml: Form {.
Graphics gfx;
Random rnd = new RandomQ; int x, y, dx, dy;
int pWidth = 20, pHeight = 20;
Timer timerl = new Timer (); public Form 1() {.
lnitializeComponent (); gfx = CreateGraphics ();
}.
private void Form1_Load (object sender, EventArgs e) { x = rnd. Next (ClientSize.Width); Ρ = rnd. Next (ClientSize.Height); dx = dy = 5;
timerl .Tick += timerl _Tick; timerl. Interval = 20; timerl. Start ();
}.
private void Form1_Paint (object sender, PaintEventArgs e) { gfx. DrawEllipse (Pens.Blue, x, y, pWidth, pHeight);
}.
private void timer1_Tick (object sender, EventArgs e) {.
if ((x+pWidth+dx) > ClientSize. Width || (x+dx) ClientSize. Height || (y+dy)<0) dy *= -1; x += dx;
Y += dy;
lnvalidate ();
}}}.
ΠΠ°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ°ΡΠΈΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΈΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ Tick, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Timer. ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ, ΠΈ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π½Π° ΡΠΎΡΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ° Visual Studio. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΠΏΠΈΡΠ°Π½ ΠΈ ΡΠΎΠ·Π΄Π°Π½ Π²ΡΡΡΠ½ΡΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ²Π»ΡΡΡΡΡ:
- β’ int Interval (n) — Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ Tick, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ (ΡΡΡΡΡΠ½ΡΠ΅ Π΄ΠΎΠ»ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Π°);
- β’ void Start () — Π½Π°ΡΠ°ΡΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ Tick;
- β’ void Stop () — ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ Tick.
ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Tick Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π²ΡΡ ΠΎΠ΄Π° ΡΠ°ΡΠΈΠΊΠ° Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΎΡΠΌΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ Ρ ΠΈ Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ°ΡΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈ Π²ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΡΡΠ΅Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΡΠΌΡ lnvalidate (). ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Paint, ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΠΈΠΊΠ° Π΄Π»Ρ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ.