Pasta Grafiği Çizmek[C#] Google'da Ara Büyüt Küçült

Genişlet
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 Pasta Grafiği Çizmek[C#]

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 Etiketler: ”, , , ,
  1. 2 yorum yapılmış

  2. user avatar ayşegül

    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

  3. user avatar EnGiNeeR

    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

Yorum Yap

Isim : (gerekli)
E-mail : (gerekli)
Yorumunuz: