public void DosyaOku(Dikdortgen dikdortgen, Ucgen ucgen, Cember cember, Besgen besgen, Cizgi cizgi, Sekiller sekil) { ofd.Filter = "text Files (*.txt) | *.txt"; if (ofd.ShowDialog() == DialogResult.OK) { FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs); sekil.sekillers.Clear(); string[] veriler = new string[10]; string veri = sr.ReadLine(); while (veri != null) { veriler = veri.Split(' '); if (veriler[0] == "Dikdortgen") { dikdortgen = new Dikdortgen("Dikdortgen", Convert.ToInt16(veriler[2]), Convert.ToInt16(veriler[3]), new Pen(System.Drawing.Color.FromArgb(((int)(((byte)(Convert.ToInt16(veriler[6]))))), ((int)(((byte)(Convert.ToInt16(veriler[7]))))), ((int)(((byte)(Convert.ToInt16(veriler[8])))))), Convert.ToInt16(veriler[9]))); dikdortgen.Genislik = Convert.ToInt16(veriler[4]); dikdortgen.Yukseklik = Convert.ToInt16(veriler[5]); sekil.sekillers.Add(dikdortgen); } else if (veriler[0] == "Ucgen") { ucgen = new Ucgen("Ucgen", Convert.ToInt16(veriler[2]), Convert.ToInt16(veriler[3]), new Pen(System.Drawing.Color.FromArgb(((int)(((byte)(Convert.ToInt16(veriler[8]))))), ((int)(((byte)(Convert.ToInt16(veriler[9]))))), ((int)(((byte)(Convert.ToInt16(veriler[10])))))), Convert.ToInt16(veriler[11]))); ucgen.Guncelle(Convert.ToInt16(veriler[4]), Convert.ToInt16(veriler[5])); ucgen.points = ucgen.NoktaGetir(); sekil.sekillers.Add(ucgen); } else if (veriler[0] == "Cember") { cember = new Cember("Cember", Convert.ToInt16(veriler[2]), Convert.ToInt16(veriler[3]), new Pen(System.Drawing.Color.FromArgb(((int)(((byte)(Convert.ToInt16(veriler[6]))))), ((int)(((byte)(Convert.ToInt16(veriler[7]))))), ((int)(((byte)(Convert.ToInt16(veriler[8])))))), Convert.ToInt16(veriler[9]))); cember.Genislik = Convert.ToInt16(veriler[4]); cember.Yukseklik = Convert.ToInt16(veriler[5]); sekil.sekillers.Add(cember); } else if (veriler[0] == "Besgen") { besgen = new Besgen("Besgen", Convert.ToInt16(veriler[5]), Convert.ToInt16(veriler[2]), new Pen(System.Drawing.Color.FromArgb(((int)(((byte)(Convert.ToInt16(veriler[6]))))), ((int)(((byte)(Convert.ToInt16(veriler[7]))))), ((int)(((byte)(Convert.ToInt16(veriler[8])))))), Convert.ToInt16(veriler[9]))); besgen.Guncelle(Convert.ToInt16(veriler[3]), Convert.ToInt16(veriler[4])); besgen.points = besgen.NoktaGetir(); sekil.sekillers.Add(besgen); } else if (veriler[0] == "Cizgi") { cizgi = new Cizgi("Cizgi", Convert.ToInt16(veriler[2]), Convert.ToInt16(veriler[3]), new Pen(System.Drawing.Color.FromArgb(((int)(((byte)(Convert.ToInt16(veriler[6]))))), ((int)(((byte)(Convert.ToInt16(veriler[7]))))), ((int)(((byte)(Convert.ToInt16(veriler[8])))))), Convert.ToInt16(veriler[9]))); cizgi.Guncelle(Convert.ToInt16(veriler[4]), Convert.ToInt16(veriler[5])); cizgi.points = cizgi.NoktaGetir(); sekil.sekillers.Add(cizgi); } veri = sr.ReadLine(); } sr.Close(); fs.Close(); } }
private void Cizim_Alani_MouseDown(object sender, MouseEventArgs e) { X = e.X; Y = e.Y; isMouseDown = true; Color renk = pb_RenkSecim.BackColor; int boyut; try { boyut = Convert.ToInt16(comboBox1.Text); pen = new Pen(renk, boyut); } catch (Exception) { MessageBox.Show("Boyut olarak tam sayı giriniz, ondalıklı sayılar desteklenmemektedir.", "Uyarı"); isMouseDown = false; } if (dikSecilimi) { dikdortgen = new Dikdortgen("Dikdortgen", X, Y, pen); } else if (kalemSecilimi) { cizgi = new Cizgi("Cizgi", X, Y, pen); } else if (ucgenSecilimi) { ucgen = new Ucgen("Ucgen", X, Y, pen); } else if (cemberSecilimi) { cember = new Cember("Cember", X, Y, pen); } else if (besgenSecilimi) { besgen = new Besgen("Besgen", X, Y, pen); } else if (selSecilimi) { if (sekil.sekillers.Count > 0) { for (int i = sekil.sekillers.Count - 1; i >= 0; i--) { /*Sekil koordinatlarinin icerisine tiklanip tiklanmadigi kontrol ediliyor. * e.X ve e.Y' ye 10 eklenmesi veya cikarilmasi secme isleminin c*k hassas olmamasini istedigimiz icindir. */ if (e.X + 10 > sekil.sekillers[i].BaslaX && e.X - 10 <= sekil.sekillers[i].BaslaX + sekil.sekillers[i].Genislik && e.Y + 10 >= sekil.sekillers[i].BaslaY && e.Y - 10 <= sekil.sekillers[i].BaslaY + sekil.sekillers[i].Yukseklik) { secimDogrumu = true; secim = new Secim(sekil.sekillers[i].BaslaX - 20, sekil.sekillers[i].BaslaY - 20, sekil.sekillers[i].Genislik, sekil.sekillers[i].Yukseklik, secimKalem); foreach (var item in sekil.sekillers) { if (item == sekil.sekillers[i]) { item.Secilmismi = true; } else { item.Secilmismi = false; } } break; } else { secimDogrumu = false; } } } else { secimDogrumu = false; } } Refresh(); }
public void DosyaYaz(Dikdortgen dikdortgen, Ucgen ucgen, Cember cember, Besgen besgen, Cizgi cizgi, List <Sekiller> sekiller) { sfd.InitialDirectory = @"./"; sfd.Filter = "text Files (*.txt) | *.txt"; sfd.DefaultExt = "txt"; if (sfd.ShowDialog() == DialogResult.OK) { Stream fs = sfd.OpenFile(); StreamWriter sw = new StreamWriter(fs); try { foreach (var item in sekiller) { if (item.sekilAd == "Dikdortgen") { sw.WriteLine(item.sekilAd + " : " + item.BaslaX + " " + item.BaslaY + " " + item.Genislik + " " + item.Yukseklik + " " + item.Kalem.Color.R + " " + item.Kalem.Color.G + " " + item.Kalem.Color.B + " " + item.Kalem.Width); } else if (item.sekilAd == "Ucgen") { sw.WriteLine(item.sekilAd + " : " + item.points[0].X + " " + item.points[0].Y + " " + item.points[1].X + " " + item.points[1].Y + " " + item.points[2].X + " " + item.points[2].Y + " " + item.Kalem.Color.R + " " + item.Kalem.Color.G + " " + item.Kalem.Color.B + " " + item.Kalem.Width); } else if (item.sekilAd == "Cember") { sw.WriteLine(item.sekilAd + " : " + item.BaslaX + " " + item.BaslaY + " " + item.Genislik + " " + item.Yukseklik + " " + item.Kalem.Color.R + " " + item.Kalem.Color.G + " " + item.Kalem.Color.B + " " + item.Kalem.Width); } else if (item.sekilAd == "Besgen") { sw.WriteLine(item.sekilAd + " : " + item.points[0].Y + " " + item.points[1].X + " " + item.points[2].Y + " " + item.points[4].X + " " + item.Kalem.Color.R + " " + item.Kalem.Color.G + " " + item.Kalem.Color.B + " " + item.Kalem.Width); } else if (item.sekilAd == "Cizgi") { sw.WriteLine(item.sekilAd + " : " + item.points[0].X + " " + item.points[0].Y + " " + item.points[1].X + " " + item.points[1].Y + " " + item.Kalem.Color.R + " " + item.Kalem.Color.G + " " + item.Kalem.Color.B + " " + item.Kalem.Width); } } } catch (Exception err) { MessageBox.Show(err.Message, "Uyarı"); } sw.Close(); fs.Close(); } }