Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

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 = newPen(Color.Red,7);

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

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

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

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

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

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

Point[] points = newPoint[] {

newPoint(10,10),newPoint(10,100),

newPoint(50,65),newPoint(100,100),newPoint(85,40)};

g.DrawPolygon(p, points);

 

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

Pen p = newPen(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 = newSolidBrush(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 = newPen(Color.Maroon, 7);

g.DrawPolygon(p, points);

 

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

{

    Bitmap bm = newBitmap(@”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 = newFont(“Arial”, 40, FontStyle.Bold);

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

Rectangle r = newRectangle(newPoint(500, 500), newSize(80, 80));

StringFormat f1 = newStringFormat(StringFormatFlags.NoClip);

StringFormat f2 = newStringFormat(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);

May 18, 2010 - Posted by | C# | , , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s