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 10 ziyaretçi (11 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