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.