13 Mart 2013 Çarşamba

C# İle Resmi Piksellerine Ayırma

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.

0 yorum to “C# İle Resmi Piksellerine Ayırma”

Yorum Gönder