Copyriht © 2011 PcDr SysDba
  Grafik (Pasta)
 
 
Pasta Grafiği Çizmek
Blog > C# > C# Örnek Kodlar > 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.


Kodlar
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)
        {

        }
    }
}
 
 
  Bugün 14 ziyaretçi (16 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol