Copyriht © 2011 PcDr SysDba
  C#’ta Paint Programı
 

C#’ta Paint Programı

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



Kodlar

 

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

 
 
  Bugün 7 ziyaretçi (8 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