C#’ta Paint Programı[C#]

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: ”Bitmap, C#, Graphics, paint, SolidBrush”
1 yorum yapılmış
İlginç ve güzel paylaşım, teşekkürler…
18 Mart 2011 - 10:52