نمایش نتایج 1 تا 6 از 6

نام تاپیک: سياه و سفيد كردن عكس

  1. #1
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    سياه و سفيد كردن عكس

    برنامه اي ميخوام بنويسم كه يه سري عكسو رو برام سياه و سفيد كنه اما هيچ چيزي به نظرم نميرسه
    ممنون ميشم اگه كمكم كنيد؟

  2. #2
    سلام دوست عزیز
    برای انجام اینکار باید از GDI+ و کلاس Bitmap و متدهای LockBits و UnlockBits و کلاس BitmapData استفاده نمایید :

    Bitmap b = (Bitmap)Bitmap.FromFile("D:\\colorful.jpg");
    BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height),
    ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    int stride = bmData.Stride;
    System.IntPtr Scan0 = bmData.Scan0;
    unsafe
    {
    byte* p = (byte*)(void*)Scan0;
    int nOffset = stride - b.Width * 3;
    byte red, green, blue;
    for (int y = 0; y < b.Height; ++y)
    {
    for (int x = 0; x < b.Width; ++x)
    {
    blue = p[0];
    green = p[1];
    red = p[2];
    p[0] = p[1] = p[2] = (byte)(.299 * red
    + .587 * green
    + .114 * blue);
    p += 3;
    }
    p += nOffset;
    }
    }
    b.Save("d:\\gray.jpg");

    اطلاعات بیشتر :
    I've just started tweeting!
    @Alireza_Maddah

  3. #3
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531
    اين سورس براي فايلهايي با پسوند Gif جواب نميده ؟

  4. #4

  5. #5
    نقل قول نوشته شده توسط danial82 مشاهده تاپیک
    برنامه اي ميخوام بنويسم كه يه سري عكسو رو برام سياه و سفيد كنه اما هيچ چيزي به نظرم نميرسه
    ممنون ميشم اگه كمكم كنيد؟
    https://barnamenevis.org/showpo...1&postcount=81

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  6. #6
    for(int x=0;x<bitmap.width;++x)
    for(int y=0;y<bitmap.hight;++y)
    {
    color c=Bitmap.getpix(x,y)
    float m;
    m=c.R+c.B+c.G;
    m=m/3;
    color c2=color.Argb(m,m,m);
    Bitmap.setpixel(x,y,c2);
    }

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •