نمایش نتایج 1 تا 40 از 534

نام تاپیک: 1001 نکته در سی شارپ

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    کاربر دائمی آواتار tthenry14plus
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    Tehran
    پست
    218

    برنامه ای مشابه ColorBalance فوتوشاپ

    برنامه ای که مشابه ColorBalance فوتوشاپ عمل می کند
    به کمک این برنامه می توانید تعادل رنگی قرمز، سبز، آبی، و زرد را در
    عکس های مورد نظر خود تغییر دهید.
    می دونم که کسی عقلشو از دست نداده که از این برنامه برای اینکار
    استفاده کنه ولی نمونه بسیار خوبی برای اینکاره.
    توی برنامه از 4 کنترل TrackBar استفاده شده که به صورت لیستی به فرم
    اضافه میشن، نام رنگ ها هم همینطور؛ ازین رو به سادگی و با 3 تغییر بسیار ساده
    می تونید تعداد رنگ ها را تغییر دهید.
    برای اینکار مقدار CNT را تغییر داده و رنگ ها و نام های خود را به آرایه ها اضافه یا کم
    کنید، طول فرم هم بسته به تعداد اونها تغییر می کنه.

    تعریف متغیرها

    staticint CNT = 4;
    publicstaticList<TrackBar> tbs = newList<TrackBar>();
    Color[] clr = newColor[] { Color.Red, Color.Green, Color.Blue, Color.Yellow};
    string[] lb = newstring[] { "R", "G", "B", "Y"};
    Image img2,img_org;

    ColorBalance

    privatestaticImage fill_layer_ARGB(PictureBox PicBox, Image img,Color[] colr)
    {
    PicBox.Image = img;
    Bitmap bmp_img = newBitmap(PicBox.Image);
    Graphics ghp = Graphics.FromImage(bmp_img);
    LinearGradientBrush LineaBrush;
    for (int i = 0; i < CNT; i++)
    {
    LineaBrush = newLinearGradientBrush(newRectangle(0, 0, bmp_img.Width, bmp_img.Height), Color.FromArgb(tbs[i].Value, colr[i]), Color.FromArgb(tbs[i].Value, colr[i]), LinearGradientMode.BackwardDiagonal);
    ghp.FillRectangle(LineaBrush, newRectangle(0, 0, bmp_img.Width, bmp_img.Height));
    }
    return (Image)bmp_img;
    }

    اضافه کردن TrackBar ها و Label ها

    void add_tracks()
    {
    for (int i = 0; i < CNT; i++)
    {
    TrackBar tb = newTrackBar();
    tb.Size = newSize(114, 45);
    tb.Location = newPoint(i * 114 + 214, 545);
    tb.Enabled = false;
    tb.Minimum = 0;
    tb.Maximum = 255;
    tb.Value = 0;
    tb.TickStyle = TickStyle.None;
    tb.ValueChanged += newEventHandler(tb_ValueChanged);
    tbs.Add(tb);
    Label l = newLabel();
    l.Text = lb[i];
    l.Location = newPoint(i * 114 + 260, 567);
    this.Controls.Add(l);
    }
    this.Controls.AddRange(tbs.ToArray());
    this.Width += (CNT - 4) * 110;
    label1.Left = (int)((pictureBox1.Width - label1.Width) / 2);
    }


    مثالی از برنامه داخل تصاویر اومده
    همونطور که می دونید ترکیب 2 رنگ زرد و آبی میشه سبز
    که داخل تصویر مشخصه
    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 17 تیر 1394 در 14:26 عصر دلیل: برداشتن امضا

برچسب های این تاپیک

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

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