کار با تصاویر در سی شارپ (پیشرفته)

در این آموزش در ادامه آموزش قبلی نحوه دسترسی به اطلاعات تصویر مانند طول و عرض آن و رنگ هر پیکسل خواهیم پرداخت و به کمک این اطلاعات افکت های رنگی مانند “سیاه و سفید”، “تقویت رنگ”، “معکوس سازی رنگ” و… بر روی عکس اعمال خواهیم کرد. برای اینکار باید عکس خود را به جای Image از نوع Bitmap در نرم افزار بارگذاری کنیم:


Bitmap image = (Bitmap)Bitmap.FromFile("C:\image.jpg");

۱٫ خواندن طول و عرض عکس:


int width = image.Width;

int height = image.Height;

۲٫ خواندن رنگ یک پیکسل خاص از عکس:

برای خواندن رنگ یک پیکسل از عکس از تابع GetPixel استفاده می کنیم. این تابع x و y پیکسل مورد نظر را در ورودی گرفته و در خروجی خود رنگ پیکسل مربوطه را در قالب یک شیء Color برمی گرداند. کد زیر رنگ پیکسلی که در مختصات x=20 و y=30 در شیء image قرار دارد را برمی گرداند.


Color pixColor = image.GetPixel(20,30);

۳٫ قرار دادن رنگ دلخواه برای پیکسلی خاص از عکس:

برای انجام اینکار از تابع SetPixel استفاده می کنیم. این تابع دو عدد x و y و یک شی از نوع Color را که حاوی رنگ دلخواه است، در ورودی می گیرد و پیکسل مربوطه را به رنگ Color در می آورد.


Color newColor = Color.FromArgb(255,128,203,83);
image.SetPixel(i, j, newColor);

۴٫ افکت “تقویت رنگ قرمز” بر روی عکس:

public static Bitmap RedBoost(Bitmap scrBitmap)
{
Color actulaColor;
Bitmap newBitmap = new Bitmap(scrBitmap.Width, scrBitmap.Height);
for (int i = 0; i < scrBitmap.Width; i++)
{
for (int j = 0; j < scrBitmap.Height; j++)
{
//get the pixel from the scrBitmap image
actulaColor = scrBitmap.GetPixel(i, j);
int Red = (byte)(actulaColor.R);
Red = (int)(Red*1.4);
Red = Red > 255 ? 255 : Red;
int Green = (byte)( actulaColor.G);
int Blue = (byte)(actulaColor.B);
Color newColor = Color.FromArgb(actulaColor.A, Red, Green, Blue);
newBitmap.SetPixel(i, j, newColor);
}
}
return newBitmap;
}

نمونه های افکت:

معمولی

default

negativeblackWhite

blueboostgreenboostredboostcolorboost

موفق و پیروز باشید!
همچنین می توانید فایل اجرایی نرم افزار نوشته شده در این آموزش را دانلود نمایید:
پسورد فایل: www.myempire.ir

دانلود نرم افزار

در این آموزش در ادامه آموزش قبلی نحوه دسترسی به اطلاعات تصویر مانند طول و عرض آن و رنگ هر پیکسل خواهیم پرداخت و به کمک این اطلاعات افکت های رنگی مانند “سیاه و سفید”، “تقویت رنگ”، “معکوس سازی رنگ” و… بر روی عکس اعمال خواهیم کرد. برای اینکار باید عکس خود را به جای …

بررسی کلی

امتیاز کاربر: 4.78 ( 4 رای)
0

۴ دیدگاه

  1. سلام واقعا از سایتتون ممنون

  2. سلام
    لینک دانلود خرابه
    لطفا سورس پروژه رو هم قرار بدین

  3. سلام میشه فایل دانلودی رو درست کنین چون میزنم دانلود میگه صفحه مورد نظر پیدا نشد

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

theme