C# İle Resmi Piksellerine Ayırma

Bu dersimizde C# ile bir resmi piksellerine ayıracağız.

Bu dersimizde C# ile bir resmi piksellerine ayıracağız.

Başlayalım:

Öncelikli olarak bir, bitmap oluşturmalıyız;


var goruntuGenislik = orjinalGoruntu.Width;

var goruntuYukseklik = orjinalGoruntu.Height;

 

var piksellestirilmisGoruntu = new Bitmap(goruntuGenislik, goruntuYukseklik);



Ardından pikselleştirme için önceden karar verdiğimiz boyutlar çerçevesinde orjinal görüntü pikselleri içerisinde dolaşmaya başlayalım;


for (var i = 0; i < goruntuGenislik; i += pikselBoyutu) {

    for (var j = 0; j < goruntuYukseklik; j += pikselBoyutu) {

    //...   

   }

}



Alan içerisinde merkezdeki piksel'i alalım. Bu piksel daha sonra sonuç görüntümüzde bu alana denk gelen pikseller için kullanacağımız rengi belirlememize yardımcı olacak.

xOfseti = yOfseti = pikselBoyutu / 2;

 

if (i + xOfseti >= goruntuGenislik) {

    xOfseti = goruntuGenislik - i - 1;

}

 

if (j + yOfseti >= goruntuYukseklik) {

    yOfseti = goruntuYukseklik - j - 1;

}

 

var piksel = orjinalGoruntu.GetPixel(i + xOfseti, j + yOfseti);



Son Olarak;

for (var x = i; x < i + pikselBoyutu && x < goruntuGenislik; x++) {

    for (var y = j; y < j + pikselBoyutu && y < goruntuYukseklik; y++) {

        piksellestirilmisGoruntu.SetPixel(x, y, piksel);

    }

}




Resmi Picture Box'a Aktarmak İçin;


pictureBox1.Image = piksellestirilmisGoruntu;



Kolay gelsin.
  • Etiketler;
Hüseyin Kadir Çiftçi
Programcılığa ilkokul yıllarında başladı ve kendini iyi derecede geliştirdi. Şu an C#, Visual Basic, C++, Delphi, Android, Java, PHP gibi diller üzerinde çalışıyor. Bazı şirketlere yazılım konusunda destek oluyor.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Merhaba, uygulamanın örnek projesi var mı ? İnternette bu yazının aynısı var ve örnek proje bulamadım, yapmaya çalışıyorum ama bazı yerler eksik kalmış sanırım. Örnek: xOfseti , yOfseti bölümünü nerede tanımlayacağız. Ayrıca [code]xOfseti = yOfseti = pikselBoyutu / 2; if (i + xOfseti >= goruntuGenislik) { xOfseti = goruntuGenislik - i - 1; } if (j + yOfseti >= goruntuYukseklik) { yOfseti = goruntuYukseklik - j - 1; } var piksel = orjinalGoruntu.GetPixel(i + xOfseti, j + yOfseti);[/code] kodlarını for içerisinde mi kullanacağız ?
Merhabalar,yukarıdaki kodları kopyalayıp c# a kopyaladığımda hata alıyorum.Özellikle xofseti ve yofseti hep hata veriyor bunları nasıl ayarlamalıyım? Örnek olarak 1400x900 çözünürlüğünde bir resim indirdim ama olmuyor xofseti ve yofsetini nasıl bulucam?
Bana yardım edeceğinizi yazmıştınız bekliyorum lütfen

Yukarı Git