C# Grafikler

Grafikler uygulamaların kullanıcı arayüzlerini zenginleştirmek için kullanılırlar.Örneğin raporlar,çizelgeler,resimler bu amaca hizmet etmek için kullanılabilir.NET Framework kendi içerisinde System.Drawing namespace’i altında çizgi,şekil,patternler ve text çizmek için sınıflar barındırır.Bu yazıda da .NET ile nasıl grafik ve resim çizilir bunları işliyor olacağız.
Grafik çizebilmek için öncelikle bir windows forms uygulamasına ihtiyacımız olacak.

Pen sınıfı abstract Brush sınıfından türemiş doğru ve eğriler çizmeye yarayan bir sınıftır.

Bir nesnenin form üzerindeki konumunu da Point sınıfı yardımı ile belirleyebiliriz.
button1.Location = new Point(10,10);

Veya
button1.Left = 10;

button1.Top = 10;


Bir nesnenin boyutunu ise Size sınıfı yardımı ile belirleyebiliriz.
button1.Size = new Size(30,30);

Bir nesnenin rengini Colır structure’i ile belirleyebiliriz.
button1.Color = Color.Red;
Eğer custom bir renk istiyorsak Color.FromArgb(100,5,88); şeklinde tanımlayabiliriz.

Aşağıdaki kod parçası panel1’e kırmızı ve kalınlığı 7 pixel olan bir kalem ile (1,1) noktasından (100,100) noktasına bir çizgi çizmektedir.
Graphics g = this.panel1.CreateGraphics();

Pen p = new Pen(Color.Red,7);

g.DrawLine(p,1,1,100,100);

Panele pasta dilimi çizmek.
Graphics g = this.panel2.CreateGraphics();

Pen p = new Pen(Color.Red, 7);

g.DrawPie(p, 1, 1, 100, 100,-30,60);

Ekrana poligon çizdirmek.
Graphics g = this.panel3.CreateGraphics();

Pen p = new Pen(Color.MediumPurple, 2);

Point[] points = new Point[] {

new Point(10,10),new Point(10,100),

new Point(50,65),new Point(100,100),new Point(85,40)};

g.DrawPolygon(p, points);

 

Doğruyu farklı biçimlerde formatlamak
Graphics g = this.panel4.CreateGraphics();

Pen p = new Pen(Color.Purple, 7);

 

p.DashStyle = DashStyle.Dot;

g.DrawLine(p, 50, 25, 400, 25);

 

p.DashStyle = DashStyle.Dash;

g.DrawLine(p, 50, 50, 400, 50);

 

p.StartCap = LineCap.ArrowAnchor;

p.EndCap = LineCap.Round;

g.DrawLine(p,50,75,200,75);

 

Bir poligon çizdirip içerisini ve kenarlarını farklı renklerde boyamak.

Graphics g = this.panel5.CreateGraphics();

Brush b = new SolidBrush(Color.Blue);
//Brush b = new LinearGradientBrush(new Point(1, 1), new Point(100, 100), Color.Maroon, Color.Blue); // Gradient olarak içerisini boyama yapar.

g.FillPolygon(b, points);

Pen p = new Pen(Color.Maroon, 7);

g.DrawPolygon(p, points);

 

Formun arka planına resim çizdirmek
private void frm_6_Graphics_Paint(object sender, PaintEventArgs e)

{

    Bitmap bm = new Bitmap(@"C:Mavi Tepeler.jpg");

    Graphics g = this.CreateGraphics();

    g.DrawImage(bm, 1, 1, this.Width, this.Height);

}

 

Ekrana ikon çizdirmek:

Graphics g1 = this.CreateGraphics();

g1.DrawIcon(SystemIcons.Information, 400, 400);

Ekrana yazı yazmak:
Font f = new Font("Arial", 40, FontStyle.Bold);

g.DrawString("Koray Kırdinli",f,Brushes.Purple,400,430);

Rectangle r = new Rectangle(new Point(500, 500), new Size(80, 80));

StringFormat f1 = new StringFormat(StringFormatFlags.NoClip);

StringFormat f2 = new StringFormat(f1);

f1.LineAlignment = StringAlignment.Near;

f1.Alignment = StringAlignment.Center;

 

g.DrawRectangle(Pens.Black,r);

g.DrawString("A B C",this.Font,Brushes.Red,(Rectangle)r,f1);

Yorum Yaz
Arkadaşların Burada !
Arkadaşların Burada !