C#’ta Paint Programı[C#] Google'da Ara Büyüt Küçült

Genişlet
10 Mart 2010 – 10:00

Kendi yazdığım basit paint uygulaması bu programla C#’ta yaptığınız programlara nasıl resim çizilceğini anlatımlı olarak görebilirsiniz.

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        private Bitmap drawBitmap;
        private Graphics drawGraphics;
        private SolidBrush paintBrush = new SolidBrush(Color.Blue);//renk tanımlanıyor mavi tanılandı
        private int paintXSize = 4;//Fırça ucu kalınlığı x
        private int paintYSize = 4;//Fırça ucu kalınlığı y
        private SolidBrush clearBrush = new SolidBrush(Color.White);//Buda silmek için tanımlanmış renk olsun(Beyaz)
        private int clearXSize = 20;//Fırça ucu kalınlığı x
        private int clearYSize = 20;//Fırça ucu kalınlığı y

        public Form1()
        {//Compenetlerimiz initialize olurken aşağıdaki tanımlamalar yapılır
            InitializeComponent();
            drawBitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            drawGraphics = Graphics.FromImage(drawBitmap);
            //drawGraphics.FillRectangle(paintBrush, 20, 20, 10, 10);
            pictureBox1.Image = drawBitmap;
        }

        //burası cizimin yapıldığı yerdir mouse kordinatlarının bulunduğu konuma FillRectangle ile renkler bırakılır
        private void cizimYap(int xKoor, int yKoor,MouseEventArgs e)
        {
            drawGraphics.FillRectangle(paintBrush, e.X, e.Y, xKoor, yKoor);
            pictureBox1.Image = drawBitmap;
        }

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                //drawGraphics.FillRectangle(paintBrush, e.X, e.Y, paintXSize, paintYSize);
                //pictureBox1.Image = drawBitmap;
                cizimYap(paintXSize, paintYSize,e);
            }
            else if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                drawGraphics.FillRectangle(clearBrush, e.X, e.Y, clearXSize, clearYSize);
                pictureBox1.Image = drawBitmap;
            }      
           
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        //Burda yeni renk tanımlamaları yapılıyor
        private void button1_Click(object sender, EventArgs e)
        {
            paintBrush = new SolidBrush(Color.Red);
        }

        //Burda yeni renk tanımlamaları yapılıyor
        private void button3_Click(object sender, EventArgs e)
        {
            paintBrush = new SolidBrush(Color.Black);
        }

        //Burda fırça kalınlığı ayarlanıyor
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.Text == "1")
            {
                paintXSize = 4;
                paintYSize = 4;
            }
            else if (comboBox1.Text == "2")
            {
                paintXSize = 8;
                paintYSize = 8;
            }
            else if (comboBox1.Text == "3")
            {
                paintXSize = 16;
                paintYSize = 16;
            }
        }

        //Buralarda arkaplan renk ayarlaması yapılıyor
        //yani pictureBox1 eni ve boyu kadar seçilen renk FillRectangle ile bırakılıyor
        private void button2_Click(object sender, EventArgs e)
        {
            paintBrush = new SolidBrush(button2.BackColor);
            drawGraphics.FillRectangle(paintBrush, 0, 0, pictureBox1.Width, pictureBox1.Height);
            pictureBox1.Image = drawBitmap;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            paintBrush = new SolidBrush(button4.BackColor);
            drawGraphics.FillRectangle(paintBrush, 0, 0, pictureBox1.Width, pictureBox1.Height);
            pictureBox1.Image = drawBitmap;
        }

        private void button5_Click(object sender, EventArgs e)
        {
            paintBrush = new SolidBrush(button5.BackColor);
            drawGraphics.FillRectangle(paintBrush, 0, 0, pictureBox1.Width, pictureBox1.Height);
            pictureBox1.Image = drawBitmap;
        }
    }
}

En basit haliyle Paint yapımı bu şekildedir.FillRectangle ağırlıklı olarak kullanıldı yaptığı işlem ise mousenin bulunduğu kordinatlara rengimizi belirli kalınlıklarda bırakmak.Bunu geliştirerek gelişmiş paint uygulamaları yapılabilir.Kodlara aşağıdaki linkten ulaşabilirsiniz..

Linkler
RapidShare
Csharptr

Yazan : Mertcan Kurtaran

Etiketler Etiketler: ”, , , ,

Benzer Yazılar

  1. 1 yorum yapılmış

  2. user avatar bolu beyi

    İlginç ve güzel paylaşım, teşekkürler…

    18 Mart 2011 - 10:52

Yorum Yap

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