Pasta Grafiği Çizmek[C#]

16 Mart 2010 – 10:48 Grapihcs kütüphanesini kullanarak C#’ta hazırlandığımız programa kendi belirleyeceğimiz değerlerle pasta(pie) grafiği çizdirebiliriz.
![pastagrafik pastagrafik Pasta Grafiği Çizmek[C#]](http://www.csharptr.com/wp-content/uploads/2010/03/pastagrafik.jpg)
Kodlar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace cizim2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //textbox'tan girilen değerleri bir değişkene atıyoruz int a = Convert.ToInt32(textBox1.Text); int b = Convert.ToInt32(textBox2.Text); int c = Convert.ToInt32(textBox3.Text); int d = Convert.ToInt32(textBox4.Text); //textboxlara girilen değerlerin 360 derecelik pastadaki % kaç açıya sahip //olacağını hesaplayan matematiksek hesaplamalar yapılıyor //ör)a değişkeninin kaç dereceye eşit olduğunu deg1 diye bir değişkene atıyoruz float toplam = a + b + c + d; float deg1 = (a / toplam) * 360; float deg2 = (b / toplam) * 360; float deg3 = (c / toplam) * 360; float deg4 = (d / toplam) * 360; //daire çizimi için kalemimizin rengini ve kalınlığını belirleriz Pen p = new Pen(Color.Red, 2); //grapfik sınıfını kullanarak çizimimize başlarız Graphics g = this.CreateGraphics(); //çizimimizin yapılacağı alan için rectangle sınıfını kullanırız. //bunun için önce textbox1'in x noktasındaki koordinatının üzerine genişliği,y koordinatı,genişlik ve yükseklik tanımlarız //böylece çizim yapacağımız alanı belirleriz Rectangle rec = new Rectangle(textBox1.Location.X + textBox1.Size.Width + 10, 12, 150, 150); //brush sınıfını daire çizildikten sonra içini boyamak için kullanacaz //farklı renkler yaratılır Brush b1 = new SolidBrush(Color.Red); Brush b2 = new SolidBrush(Color.Black); Brush b3 = new SolidBrush(Color.Blue); Brush b4 = new SolidBrush(Color.Yellow); g.Clear(Form.DefaultBackColor); //drawpie ile pie chart çizimine başlanılır //drawpie ilk parametresi dairenin çizimi için yarattığımız pen parametresini alır //ikinci parametre çizim yapılacak alan //üçüncü parametre çizim yapılacak başlangıç açısı //dorduncu parametre kaç derecelik açı çizileceği //başlangıç açısını 0 kabul ediyoruz,deg1 değişkenindeki açı büyüklüğü kadar çizim yapıyor g.DrawPie(p, rec, 0, deg1); //fillpie ile çizilen pasta grafiğindeki dilimlerin içini boyamak için kullanıyoruz //aldığı birinci parametre yukarıda tanımladığımız brush sınıfından tanımladığımız nesnenin rengini alıyor //ikinci parametre hangi alandaki grafik boyanacak //üçüncü parametre boyanacak dilimin başlangıç açısı //dördüncü parametre kaç derecelik boyanacak alan g.FillPie(b1, rec, 0, deg1); g.DrawPie(p, rec, deg1, deg2); g.FillPie(b2, rec, deg1, deg2); g.DrawPie(p, rec, deg2+deg1, deg3); g.FillPie(b3, rec, deg2+deg1, deg3); g.DrawPie(p, rec, deg3+deg2+deg1, deg4); g.FillPie(b4, rec, deg3+deg2+deg1, deg4); } private void Form1_Load(object sender, EventArgs e) { } } } |
Projeyi aşağıdaki linklerden indirebilirsiniz.(ders notlarımdan alıntıdır)
Linkler
RapidShare
Csharptr
Etiketler: ”C#, C# pasta grafiği, grafik, Graphics, pasta”
2 yorum yapılmış
BEN NABIZLA İLGİLİ BİR PERFORMANS ÖDEVİ YAPIOM
NABIZ SAYILARINI NASIL YÜZDEYE ÇEVİRİP PASTA GRAFİĞİNDE GÖSTEREBİLİRİM YARDIM EDİN ÇOK MAKBULE GİRERSİNİZ:):)
20 Şubat 2011 - 15:14
elınıze kolunuza saglık boyle guzel bır sıte gormedım ınanın..yazılımcıyım her turlu yardımcı olabılrım kod konusunda tabı..özelden mesaj yazın veya mail atabilirsiniz arkadslar misirga42@hotmail.com
2 Mart 2011 - 13:23