جلسه5:فیلتر تنظیم روشنایی و فیلتر سیاه سفید
فیلتر تنظیم روشنایی:
Bitmap BMP = new Bitmap("adress of picture");
Color col;
int r, g, b;
for (int i = 0; i < Int32.Parse(BMP.Width.ToString()); i++)
{
for (int j = 0; j < Int32.Parse(BMP.Height.ToString()); j++)
{
col = BMP.GetPixel(i, j);
r = Int32.Parse(hScrollBar1.Value.ToString()) + col.R;
g = Int32.Parse(hScrollBar1.Value.ToString()) + col.G;
b = Int32.Parse(hScrollBar1.Value.ToString()) + col.B;
if (r > 255)
r = 255;
else if (r < 0)
r = 0;
if (g > 255)
g = 255;
else if (g < 0)
g = 0;
if (b > 255)
b = 255;
else if (b < 0)
b = 0;
BMP.SetPixel(i, j, Color.FromArgb(r, g, b));
pictureBox2.Image = BMP;
}
}
در برنامه ی بالا از یک اسکرول بار استفده شده است و عدد آن به مقدار رنگ هر پیکسل اضافه یا کم می شود و اگر مقدار رنگ از 255 بیشتر شدT، عدد 255 و اگر از صفر کمتر شد، عدد 0 به عنوان رنگ پیکسل در نظر گرفته می شود.
فیلتر سیاه سفید:
Bitmap BMP = new Bitmap("adress of picture");
Color col;
int r, g, b, rgb;
byte blue, green, red;
for (int i = 0; i < Int32.Parse(BMP.Width.ToString()); i++)
{
for (int j = 0; j < Int32.Parse(BMP.Height.ToString()); j++)
{
col = BMP.GetPixel(i, j);
blue = col.B;
green = col.G;
red = col.R;
if (red < 128)
{
BMP.SetPixel(i, j, Color.FromArgb(0, 0, 0));
}
if (red >= 128)
{
BMP.SetPixel(i, j, Color.FromArgb(255, 255, 255));
}
}
}
pictureBox2.Image = BMP;
اگز مقدار رنگ پیکسل از 128 بیشتر بود،پیکسل به رنگ سفید و اگر کمتر بود، به رنگ سیاه در خواهد آمد.