private void Gecici_Duz_Cizgi_Cizi(Point Nokta1, Point Nokta2)
        {
            if (geciciCizimYapiliyorMu == true)
            {
                geciciCizimGrafik.Dispose();
                geciciCizimGrafik = Graphics.FromImage(geciciResim);
            }
            else
            {
                geciciCizimGrafik.Dispose();
                geciciCizimGrafik = Graphics.FromImage(resim);
            }


            if (geri_al == false && geciciCizimYapiliyorMu == false)
            {
                BackUpIcin bi = new BackUpIcin();
                bi.l_Tur    = secili_Cizim;
                bi.l_Nokta1 = Nokta1;
                bi.l_Nokta2 = Nokta2;
                bi.l_Kalem  = Kalem;
                geri_al     = false;
                new_BackUpList.Add(bi);
            }


            Nokta1 = new Point(Convert.ToInt32(katsayi_X * Nokta1.X), Convert.ToInt32(katsayi_Y * Nokta1.Y));
            Nokta2 = new Point(Convert.ToInt32(katsayi_X * Nokta2.X), Convert.ToInt32(katsayi_Y * Nokta2.Y));



            geciciCizimGrafik.DrawLine(Kalem, Nokta1, Nokta2);
        }
        private void BackupIcinCagirma(BackUpIcin gelen)
        {
            /*
             * KAYIT YAPILIRKEN 2 TÜR KAYIT VAR
             * 1. TÜRÜ BİLİNEN KAYIT ÖRNEĞİN DÜZ ÇİZGİ KARE VE YUVARLAKTA KULLANILAN
             * 2. RESİM OLARAK KAYIT
             * BURADA 1. İF RESİM OLAN KAYITLARLA ALAKALI ALTINDAKİ KISIMLAR İSE TÜRÜ BİLİNEN KAYITLARLA ALAKALI
             */


            if (gelen.l_resim != null)
            {
                resim = new Bitmap(gelen.l_resim);

                return;
            }

            else if (gelen.l_Tur == Cizim_Turleri.duz_cizgi)
            {
                Kalem = gelen.l_Kalem;
                Gecici_Duz_Cizgi_Cizi(gelen.l_Nokta1, gelen.l_Nokta2);
            }

            else if (gelen.l_Tur == Cizim_Turleri.daire)
            {
                Kalem = gelen.l_Kalem;
                Gecici_Daire_Ciz(gelen.l_Nokta1, gelen.l_Nokta2);
            }

            else if (gelen.l_Tur == Cizim_Turleri.kare)
            {
                Kalem = gelen.l_Kalem;
                Gecici_Kare_Ciz(gelen.l_Nokta1, gelen.l_Nokta2);
            }
        }
        private void Gecici_Kare_Ciz(Point Nokta1, Point Nokta2)
        {
            if (geciciCizimYapiliyorMu == true)
            {
                geciciCizimGrafik.Dispose();
                geciciCizimGrafik = Graphics.FromImage(geciciResim);
            }
            else
            {
                geciciCizimGrafik.Dispose();
                geciciCizimGrafik = Graphics.FromImage(resim);
            }


            if (geri_al == false && geciciCizimYapiliyorMu == false)
            {
                BackUpIcin bi = new BackUpIcin();
                bi.l_Tur    = secili_Cizim;
                bi.l_Nokta1 = Nokta1; //new Point(Convert.ToInt32(katsayi_X * Nokta1.X), Convert.ToInt32(katsayi_Y * Nokta1.Y));
                bi.l_Nokta2 = Nokta2; //new Point(Convert.ToInt32(katsayi_X * Nokta2.X), Convert.ToInt32(katsayi_Y * Nokta2.Y));
                bi.l_Kalem  = Kalem;
                geri_al     = false;
                new_BackUpList.Add(bi);
            }


            Nokta1 = new Point(Convert.ToInt32(katsayi_X * Nokta1.X), Convert.ToInt32(katsayi_Y * Nokta1.Y));
            Nokta2 = new Point(Convert.ToInt32(katsayi_X * Nokta2.X), Convert.ToInt32(katsayi_Y * Nokta2.Y));



            double x_toplam = Math.Abs(Nokta1.X - Nokta2.X);
            double y_toplam = Math.Abs(Nokta1.Y - Nokta2.Y);

            if (Nokta1.X < Nokta2.X)
            {
                if (Nokta1.Y < Nokta2.Y)
                {
                    geciciCizimGrafik.DrawRectangle(Kalem, Nokta1.X, Nokta1.Y, Convert.ToInt32(x_toplam), Convert.ToInt32(y_toplam));
                }

                else
                {
                    geciciCizimGrafik.DrawRectangle(Kalem, Nokta1.X, Nokta2.Y, Convert.ToInt32(x_toplam), Convert.ToInt32(y_toplam));
                }
            }
            else if (Nokta2.X < Nokta1.X)
            {
                if (Nokta1.Y > Nokta2.Y)
                {
                    geciciCizimGrafik.DrawRectangle(Kalem, Nokta2.X, Nokta2.Y, Convert.ToInt32(x_toplam), Convert.ToInt32(y_toplam));
                }

                else
                {
                    geciciCizimGrafik.DrawRectangle(Kalem, Nokta2.X, Nokta1.Y, Convert.ToInt32(x_toplam), Convert.ToInt32(y_toplam));
                }
            }
        }
        private void Gecici_Daire_Ciz(Point Nokta1, Point Nokta2)
        {
            if (geciciCizimYapiliyorMu == true)
            {
                geciciCizimGrafik.Dispose();
                geciciCizimGrafik = Graphics.FromImage(geciciResim);
            }
            else
            {
                geciciCizimGrafik.Dispose();
                geciciCizimGrafik = Graphics.FromImage(resim);
            }

            if (geri_al == false && geciciCizimYapiliyorMu == false)
            {
                BackUpIcin bi = new BackUpIcin();
                bi.l_Tur    = secili_Cizim;
                bi.l_Nokta1 = Nokta1;
                bi.l_Nokta2 = Nokta2;
                bi.l_Kalem  = Kalem;
                geri_al     = false;
                new_BackUpList.Add(bi);
            }



            Nokta1 = new Point(Convert.ToInt32(katsayi_X * Nokta1.X), Convert.ToInt32(katsayi_Y * Nokta1.Y));
            Nokta2 = new Point(Convert.ToInt32(katsayi_X * Nokta2.X), Convert.ToInt32(katsayi_Y * Nokta2.Y));


            double x_toplam = Math.Abs(Nokta1.X - Nokta2.X);
            double y_toplam = Math.Abs(Nokta1.Y - Nokta2.Y);

            double uzaklık = Math.Sqrt((x_toplam * x_toplam) + (y_toplam * y_toplam));

            Point Nokta3 = Cemberin_Ortasini_Bulma(Nokta1, Nokta2);

            geciciCizimGrafik.DrawEllipse(Kalem, Nokta3.X - Convert.ToInt32(x_toplam / 2), Nokta3.Y - Convert.ToInt32(y_toplam / 2), Convert.ToInt32(uzaklık), Convert.ToInt32(uzaklık));
        }
        public void Resim_Ekle(Image resim)
        {
            geciciCizimGrafik = Graphics.FromImage(resim);
            geciciResim       = new Bitmap(resim);



            cizimYapilacakPictureBox.Image = Return_BitMap();


            katsayi_X = Convert.ToDouble(resim.Size.Width) / Convert.ToDouble(cizimYapilacakPictureBox.Width);

            katsayi_Y = Convert.ToDouble(resim.Size.Height) / Convert.ToDouble(cizimYapilacakPictureBox.Height);


            if (geri_al == false && geciciCizimYapiliyorMu == false)
            {
                BackUpIcin bi = new BackUpIcin();
                bi.l_resim = new Bitmap(resim);
                new_BackUpList.Add(bi);
            }
        }
        public void Resim_Ekle(string yol)
        {
            try
            {
                Bitmap gecici = new Bitmap(yol);

                resim = new Bitmap(gecici);
                //resim = new Bitmap(gecici.Width, gecici.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

                geciciResim = new Bitmap(resim);

                geciciCizimGrafik = Graphics.FromImage(geciciResim);
                //geciciCizimGrafik.DrawImage(gecici, new Point(0, 0));
                temel_Resim = new Bitmap(resim);



                cizimYapilacakPictureBox.Image = Return_BitMap();


                katsayi_X = Convert.ToDouble(resim.Size.Width) / Convert.ToDouble(cizimYapilacakPictureBox.Width);

                katsayi_Y = Convert.ToDouble(resim.Size.Height) / Convert.ToDouble(cizimYapilacakPictureBox.Height);


                if (geri_al == false && geciciCizimYapiliyorMu == false)
                {
                    BackUpIcin bi = new BackUpIcin();
                    bi.l_resim = new Bitmap(resim);
                    new_BackUpList.Add(bi);
                }
            }
            catch
            {
                MessageBox.Show("Resim yüklenirken bir sorun çıktı.");
            }
        }
        private void pbCalisma_MouseUp(object sender, MouseEventArgs e)
        {
            if (secili_Cizim == Cizim_Turleri.text)
            {
                form.Cursor  = Cursors.Default;
                secili_Cizim = Cizim_Turleri.none;
                return;
            }
            if (e.Button == MouseButtons.Right)
            {
                cizimYapilacakPictureBox.Image = this.Return_BitMap();
                Nokta1       = new Point(0, 0);
                geciciNokta1 = new Point(0, 0);
                return;
            }
            if (gecicinin_gecicisi_BM != null)
            {
                gecicinin_gecicisi_BM.Dispose();
            }


            if (geciciNokta1 != new Point(0, 0))
            {
                if (secili_Cizim == Cizim_Turleri.duz_cizgi)
                {
                    this.geciciCizimYapiliyorMu = false;
                    this.Gecici_Duz_Cizgi_Cizi(geciciNokta1, e.Location);
                    cizimYapilacakPictureBox.Image = resim;
                }
                else if (secili_Cizim == Cizim_Turleri.daire)
                {
                    this.geciciCizimYapiliyorMu = false;
                    this.Gecici_Daire_Ciz(geciciNokta1, e.Location);
                    cizimYapilacakPictureBox.Image = this.Return_BitMap();
                }
                else if (secili_Cizim == Cizim_Turleri.kare)
                {
                    this.geciciCizimYapiliyorMu = false;
                    this.Gecici_Kare_Ciz(geciciNokta1, e.Location);
                    cizimYapilacakPictureBox.Image = this.Return_BitMap();
                }
                else if (secili_Cizim == Cizim_Turleri.silgi)
                {
                    Gecici_Cizimi_Ana_Cizime_Aktar();
                    cizimYapilacakPictureBox.Image = this.Return_BitMap();
                    this.geciciCizimYapiliyorMu    = false;

                    BackUpIcin bi = new BackUpIcin();
                    bi.l_resim = new Bitmap(Return_BitMap());
                    new_BackUpList.Add(bi);
                }
                else if (secili_Cizim == Cizim_Turleri.cizgi)
                {
                    Gecici_Cizimi_Ana_Cizime_Aktar();
                    cizimYapilacakPictureBox.Image = this.Return_BitMap();
                    this.geciciCizimYapiliyorMu    = false;

                    BackUpIcin bi = new BackUpIcin();
                    bi.l_resim = new Bitmap(Return_BitMap());
                    new_BackUpList.Add(bi);
                }
                geciciResim = new Bitmap(resim);
            }
        }