// Çizim Temelleri | www.aliakyildirim.com | Ali AKYILDIRIM
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;
using System.Drawing.Drawing2D;
// Çizim Temelleri | www.aliakyildirim.com | Ali AKYILDIRIM
namespace CizimTemelleri
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Show();
}
private void Form1_Load(object sender, EventArgs e)
{
// www.aliakyildirim.com
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawLine(Pens.DarkRed, 10, 10, 100, 10);
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.DrawEllipse(Pens.DarkSeaGreen, 15, 15, 50, 50);
g.FillEllipse(Brushes.Yellow, 75, 15, 50, 50);
g.FillPolygon(Brushes.Red, new Point[] { new Point(35, 75), new Point(10, 125), new Point(75, 125), new Point(35, 175), new Point(35, 175) });
g.Dispose();
}
Point p1 = new Point();
Point p2 = new Point();
int tiklanmaSayisi = 0;
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
if (tiklanmaSayisi % 2 == 0)
{
p1.X = e.X;
p1.Y = e.Y;
}
else
{
p2.X = e.X;
p2.Y = e.Y;
Graphics g = panel1.CreateGraphics();
g.DrawLine(Pens.Navy, p1, p2);
g.Dispose();
}
//Graphics g = panel1.CreateGraphics();
//g.DrawLine(Pens.Navy, p1, p2);
//g.Dispose();
tiklanmaSayisi++;
}
void PastaGrafigiCiz(double[] yuzdeler, Color[] renkler, Graphics alan, Point yer, Size boyut)
{
double toplam = 0;
foreach (double yuzde in yuzdeler)
{
toplam += yuzde;
}
if (toplam != 100)
{
throw new Exception("Yüzde Degerlerinin Toplami 100 Olmalidir..!");
}
if (renkler.Length != yuzdeler.Length)
{
throw new Exception("Her Dilime Bir Renk Eslesmelidir..!");
}
double toplamYuzde = 0;
alan.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
for (int i = 0; i
{
alan.FillPie(new SolidBrush(renkler[i]),
new Rectangle(yer, boyut),
(float)(toplamYuzde * 360 / 100),
(float)(yuzdeler[i] * 360 / 100));
toplamYuzde += yuzdeler[i];
}
}
private void button2_Click(object sender, EventArgs e)
{
PastaGrafigiCiz(new double[] { 10, 20, 50, 20 }, new Color[] { Color.Purple, Color.Beige, Color.LightCoral, Color.Orange }, panel2.CreateGraphics(), new Point(10, 10), new Size(200, 200));
}
private void panel3_Paint(object sender, PaintEventArgs e)
{
Rectangle rec = new Rectangle(20, 20, 200, 200);
LinearGradientBrush renk = new LinearGradientBrush(rec, Color.FromArgb(0, 0, 0), Color.FromArgb(120, 120, 255), 255);
Graphics g = e.Graphics;
g.SmoothingMode = SmoothingMode.HighQuality;
g.FillEllipse(renk, 20, 20, 170, 170);
// 3 Boyutlu hale getirmek için kullanicilari kandiriyoruz :)
renk.LinearColors = new Color[] { Color.FromArgb(120, 120, 255), Color.FromArgb(0, 0, 0) };
g.FillEllipse(renk, 30, 30, 150, 150);
}
}
}
// Çizim Temelleri | www.aliakyildirim.com | Ali AKYILDIRIM
Kaynak: Bu Örnek, Bilge Adam egitimi Sirasinda Türkay Ürkmez Tarafindan Yapilmis ve Yazilimcik.com ailesi tarafindan gelistirilmistir.