Grafik ve Çizim İşlemleri & Validation Kontrolleri Nelerdir?

Grafik ve Çizim İşlemleri & Validation Kontrolleri Nelerdir? Merhaba arkadaşlar, Bugün biraz hızlı gidiyoruz ama malum adi açık bıraktık o açığı da kapatmamız lazım. Bu arada sıkılanlar için söylüyorum Asp.NET’in son dersini işliyoruz. Yani son ders dediğim komple de bitiriyorum yönünde değil. Sadece 1 hafta felan öbür konulara da yoğunlaşmak için Asp’ye mesafe vereceğim, daha sonra Örnek ve konu anlatımları ile dönerim hiç merak etmeyin. Neyse şimdi ki son konumuza dönelim. Makalenin başlığında iki konuyu baz aldım ama aklıma Web User Control konusu da gelince onu da anlatma gereksinimi duydum 🙂     Web User Control   • Master Page çıkmadan herşeyden önce uygulanan Web User Control Master Page’den muhtelif çalışır. • Tasarım zamanında içeriği görünmez buda Master Page ile arasındaki en önemli farklılıktır. • Sayfa uzantısı .ascx’tir ASP ile tercih ettiğimiz Include’ye benzer. • Hazırlamış olduğumuz Web User Control içeriğini her sayfaya teker teker taşımamız gerekmektedir. • Basit bir uygulama ile inceleyelim;   • Web uygulaması oluşturalım ve Add New Item bölümünden bir adet Web User Control oluşturalım. • Web User Control sayfalarının aspx sayfaları ile bünyesinde pek ayrım yoktur. Tasarım ve kodlamalar aynen burada da yapılabilir. Arasındaki tek ayrım Web User Control sayfaları tek başına çalıştırılamazlar.     Grafik ve Çizim İşlemleri   Sayfamıza image kontrolü ekleyelim. Daha sonra image nesnesinin boyutlarını ayarlayalım.   1 protected void Page_Load(object sender, EventArgs e) 2 { üç System.Drawing.Bitmap resim; 4 resim = new System.Drawing.Bitmap(Server.MapPath(Image1.ImageUrl)); 5 int genislik = resim.Width; altı int yukseklik = resim.Height; 7 Image1.Width = genislik * 1/2; 8 Image1.Height = yukseklik * 1/2; 9 }   1 protected void Page_Load(object sender, EventArgs e) 2 { üç System.Drawing.Bitmap cizim_alani; 4 cizim_alani = new System.Drawing.Bitmap(200,100); 5 System.Drawing.Graphics cizim; altı cizim=System.Drawing.Graphics.FromImage(cizim_alani); 7 cizim.Clear(System.Drawing.Color.Yellow); 8 System.Drawing.Pen kalem; 9 kalem = new System.Drawing.Pen(System.Drawing.Color.Red, 3); on cizim.DrawRectangle(kalem,10,10,60,60); 11 Response.ContentType = “image/jpg”; 12 cizim_alani.Save(Response.OutputStream, System.Drawing.Imaging. ImageFormat.Jpeg); 13 }     • Bu çalışmada System.Drawing’deki Graphics,Pen, Brush, Color, Font, Point, Rectangle benzeri sınıflardan yararlandık. • Çizim yapmak istediğimiz sektörü pixel cinsinden belirledik. • Çizim işlemlerini yapabilmek için Graphic nesnesinden faydalandık. • Clear() metodu ile zemin rengini ayarladık. • Pen nesnesinin rengini al ve kenarlığın üç px olmasını sağladık. • Daha sonra DrawRegtangle metodu ile çizimi yaptık. • Daha sonra çizimimizin sunucu sebebi ile nasıl algılanacağını ayarladık.     1 protected void Page_Load(object sender, EventArgs e) 2 { üç System.Drawing.Bitmap cizim_alani; 4 cizim_alani = new System.Drawing.Bitmap(200,100); 5 System.Drawing.Graphics cizim; altı cizim=System.Drawing.Graphics.FromImage(cizim_alani); 7 cizim.Clear(System.Drawing.Color.Yellow); 8 System.Drawing.SolidBrush firca; 9 firca = new System.Drawing.SolidBrush(System.Drawing.Color.Red); on cizim.FillRectangle(firca,10,10,60,60); 11 Response.ContentType = “image/jpg”; 12 cizim_alani.Save(Response.OutputStream, System.Drawing.Imaging. ImageFormat.Jpeg); 13 }     1 protected void Page_Load(object sender, EventArgs e) 2 { üç System.Drawing.Bitmap cizim_alani; 4 cizim_alani = new System.Drawing.Bitmap(200,100); 5 System.Drawing.Graphics cizim; altı cizim=System.Drawing.Graphics.FromImage(cizim_alani); 7 cizim.Clear(System.Drawing.Color.Yellow); 8 System.Drawing.Color renk; 9 renk = System.Drawing.Color.FromArgb(25,100,75); on System.Drawing.SolidBrush firca; 11 firca = new System.Drawing.SolidBrush(System.Drawing.Color.Red); 12 cizim.FillRectangle(firca,10,10,60,60); 13 Response.ContentType = “image/jpg”; 14 cizim_alani.Save(Response.OutputStream, System.Drawing.Imaging. ImageFormat.Jpeg); 5 }     Validation Kontrolleri (Doğrulama İşlemleri)   RequiredFieldValidator Kullanıcıların sayfadaki textBox’a her zaman bilgi girmesini istiyorsak kullanabiliriz. Bu işlemi kod yazarak yapmak olasıdır ancak RequiredFieldValidator kontrolünü de kullanabiliriz. Resimde göründüğü benzeri kontrolü textBox1in yanına ekliyoruz. Yapmamız gereken ControlToValidate özelliğini textBox1 şekilde ayarlıyoruz . ErrorMessage niteliğine de istediğimiz ifadeyi yazabiliriz.   InıtValue Özelliğine herhangi bir anlatım yazarsak ve sunucuya gönderirsek RequiredFieldValidator nesnesindeki ErrorMessage’deki ova sayfaya aktarılır. ValidationSummary ve RangeValidator Kontrolü RequiredFieldValidator’deki ErrorMessage tarafına yazılan hata ValdationSummary görüntülenir.   RangeValidator nesnesinin MinimumValue ve MaximumValue özelliklerine değerlerimizi giriyoruz. Eğer tarihi bir kıymet girmek istiyorsak Type Özelliğini Date şekilde ayarlıyoruz. RangeValidator nesnesinin ControlToValidate, ErrorMessage, Text özelliklerinide ayarlayıp test edelim.     CompareValidate Kontrolü   Textbox’a girilen değerlerin göze çarpan bir sınırda ve belirgin bir tipte kalması isteniyorsa bu halde CompareValidator kullanılabilir. Aşağıdaki örnekte doğum tarihini girilen textBox’ın yanına CompareValidator eklenmiştir. Daha sonra ControlToValidate, ErrorMessage, Text, Type(Date olarak), Operator (LessThenEqual olarak) nitelikleri ayarlanmıştır. ValueToCompare niteliği ise 18 ıslak sınırı alındığında 31.12.1995 şekilde ayarlanmıştır.     Güvenlik Resimleri Sayfamıza 4 textBox 1 buton ekleyelim. Güvenlik resmi yazan textBox’a girilen kıymet yanındaki le tıpkı olduğunda öbür bir sayfaya yönlendirme işlemi yapılacaktır.     1 private string resim_olustur() 2 { üç string[] sayilar = { “0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9” }; 4 Random rastgele = new Random(); 5 string str1 = sayilar[rastgele.Next(0, 9)]; altı string str2 = sayilar[rastgele.Next(0, 9)]; 7 string str3 = sayilar[rastgele.Next(0, 9)]; 8 string str4 = sayilar[rastgele.Next(0, 9)]; 9 string str5 = sayilar[rastgele.Next(0, 9)]; on string str6 = sayilar[rastgele.Next(0, 9)]; 11 return str1 + str2 + str3 + str4 + str5 + str6; 12 }   1 protected void Page_Load(object sender, EventArgs e) 2 { üç if (!Page.IsPostBack) 4 TextBox4.Text = resim_olustur(); 5 } altı protected void Button1_Click(object sender, EventArgs e) 7 { 8 if (TextBox3.Text == TextBox4.Text) 9 Response.Redirect(“Default2.aspx”); on }


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar