23 Aralık 2011 Cuma

C# ile Bitmap Sınıfı

Bu uygulamamız basit olarak bir bitmap dosyasının üzerinde işlem yapmak.BMP dosyaları sıkıştırılmamış resim dosyalarıdır ve üzerinde pixel pixel işlem yapabiliriz.Ayrıca BMP dosyalarını görsel olarak düzenleme aracı da mevcut.Aslında konumuz bu sınıf üzerinden bir çok resim editor programı hakkında bilgi vermek.Mesela en çok bilinen resim editorlerinden PhotoShop programında kendi psd uzntılı çözümlenmiş dosya türünü kullanıyor.Bunun için bu program aldığı resmi kendi formunda kullandırırken ilk önce resmi çözümlüyor ve bir nevi kendi bmp dosyasını oluşturuyor.

Bu şekilde katmanlı,pixel düzeyinde vs olanakları kullanıcıya sunuyor.Biz de microsoft paint'in kullandığı en çok bilinen bitmap file olan bmp dosyaları uzerinde nasıl işlem yapabiliriz sorusuna cevap arayacağız.İlkönce C kullanan vatandaşlar bilir ki putpixel fonksiyonu bitmap sınıfında mevcuttur hemde daha gelişmiş özellikleri ile.Ve kendi işaretçin ile dosya üzerinde bitsel(binary) işlem yapabilirsiniz.Daha fazla uzatmadan resmin üzerine çarpı çizelim.Konu olarak basit bişey ama diğer işlemler hakkında bilgi vereceğini umuyoruz.

ilkolarak sınıfımızı tanımlayalım
sınıfımız
System.Drawing paketinin içinde Bitmap sınıfı....
Bitmap bmp=new Bitmap("C:\\test.bmp");
dediğimiz zaman c:\ dizini altındaki test.bmp dosyasını alıp üzerinde işlem yapabiliriz.
Sonra dosyamızı elde ettikten sonra
şu kodu herhengi bir event'e ekleyep çağırabilirsiniz...
for(int i=0;i "kucuk" img.Height; i++)
{
img.SetPixel(i, i, Color.Red);
img.SetPixel(img.Height - i, i, Color.Red);
}

Bu resmimizi çarpıladı.Şimdi de kaydedelim bunu.

img.Save("C:\\son.bmp", System.Drawing.Imaging.ImageFormat.Bmp);

Son olarakda görüntüleyelim
pictureBox1.Image = System.Drawing.Image.FromFile("C:\\son.bmp");

kodu ile kaydedip görüntülüyoruz.
Basit olarak bu sınıf bu şekilde kullanılır

0 yorum:

Yorum Gönder