Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 39

Тема: Линейный градиент (переход от одного цвета к другому в N шагов)

  1. #1
    SYSTEM Аватар для Games
    Регистрация
    28.06.2010
    Адрес
    Moscow
    Возраст
    30
    Сообщений
    1,468
    Репутация: 478

    Звание: - луч света в тёмном царстве

    Линейный градиент (переход от одного цвета к другому в N шагов)

    Программа, которая генерирует цвета при переходе от одного цвета к другому в N шагов.
    Иначе говоря, линейный градиент.




    Скачать:
    http://www.solidfiles.com/d/a1d67d1dcf/

    Исходный код:

    PHP код:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;


    namespace 
    ColorChanger
    {
        public 
    partial class Form1 Form
        
    {
            
    Panel[] ColorView;
            
    int OldSteps 0;

            static 
    void HexToRGB(Color HEX_COLORref int Rref int Gref int B)
            {
                 
    HEX_COLOR.R;
                 
    HEX_COLOR.G;
                 
    HEX_COLOR.B;
            }

            public 
    Form1()
            {
                
    InitializeComponent();
            }

            private 
    void ChangeColor(object senderEventArgs e)
            {
                
    MaskedTextBox A = (sender as MaskedTextBox); 
                if (
    A.Text.Length 0)
                {
                    
    int R 000;
                    
    object ChangePanel panel1;
                    try
                    {
                        
    HexToRGB(ColorTranslator.FromHtml('#' A.Text), ref Rref Gref B);
                        if (
    sender == maskedTextBox2ChangePanel panel2;
                        (
    ChangePanel as Panel).BackColor Color.FromArgb(255RGB);
                    }
                    catch
                    {
                        
    A.Text A.Text.Substring(0A.Text.Length 1);
                    }
                }
            }

            private 
    void button1_Click(object senderEventArgs e)
            {
                
    textBox1.Clear();
               
                if (
    maskedTextBox1.Text.Length && maskedTextBox2.Text.Length && maskedTextBox3.Text.Length 0)
                {
                    
    int Steps Convert.ToInt32(maskedTextBox3.Text);
                    if (
    Steps >= && Steps <= 100)
                    {
                        if (
    OldSteps 0)
                        {
                            for (
    int i 0!= OldStepsi++) ColorView[i].Dispose();
                        }

                        
    ColorView = new Panel[Steps];
                        
    int R 000R1 0G1 0B1 0;
                        
    HexToRGB(ColorTranslator.FromHtml('#' maskedTextBox1.Text), ref Rref Gref B);
                        
    HexToRGB(ColorTranslator.FromHtml('#' maskedTextBox2.Text), ref R1ref G1ref B1);

                        
    int Rs 0Gs 0Bs 0;
                        
    Rs = (R1 R) / Steps;
                        
    Gs = (G1 G) / Steps;
                        
    Bs = (B1 B) / Steps;

                        
    int SizeBlock 336 Steps;
                        
    OldSteps Steps;

                        
    int Difference Steps - (336 SizeBlock Steps);

                        for (
    int i 0ColorIndex 43!= Stepsi++, ColorIndex += SizeBlock)
                        {
                            if (
    == DifferenceSizeBlock++;

                            
    += Rs;
                            
    += Gs;
                            
    += Bs;
                            
    String S ColorTranslator.ToHtml(Color.FromArgb(255RGB));
                            
    textBox1.Text += (S.Substring(1S.Length 1) + Environment.NewLine);

                            
    ColorView[i] = new Panel();
                            
    ColorView[i].Location = new Point(ColorIndex12);
                            
    ColorView[i].Size = new Size(SizeBlock80);
                            
    ColorView[i].BackColor Color.FromArgb(255RGB);
                            
    ColorView[i].Visible true;
                            
    this.Controls.Add(ColorView[i]);
                        }
                    }
                    else 
    textBox1.Text "Число шагов от 1 до 100.";
                }
            }

            private 
    void button2_Click(object senderEventArgs e)
            {
                
    Clipboard.SetDataObject(textBox1.Texttrue);
            }
        }



    Тестили с Евгеном. Вроде, программа работает нормально.
    пусто

  2. 2 пользователей сказали cпасибо Games за это полезное сообщение:

    Nikifor (20.03.2015), Terner (19.08.2014)

  3. #2
    Potato Аватар для SDraw
    Регистрация
    10.04.2011
    Сообщений
    1,327
    Репутация: 390

    Звание: - очень-очень хороший человек

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Excellent

  4. #3
    Активный пользователь Аватар для Twixter
    Регистрация
    28.08.2011
    Сообщений
    888
    Репутация: 103

    Звание: скоро придёт к известности

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Молодец.
    [INFO] Only a private scripting okay?

  5. #4
    Пользователь Аватар для dron_turbo
    Регистрация
    27.05.2012
    Адрес
    Нижний Новгород
    Возраст
    29
    Сообщений
    0
    Репутация: 8

    Звание: пока не определено

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    thank's

  6. #5
    Активный пользователь
    Регистрация
    06.07.2011
    Сообщений
    472
    Репутация: 85

    Звание: скоро придёт к известности

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Хорошо.

  7. #6
    Администратор Аватар для Terner
    Регистрация
    11.04.2011
    Возраст
    27
    Сообщений
    2,824
    Репутация: 367

    Звание: - очень-очень хороший человек

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Как всегда, Игорь. :mag:

  8. #7
    SYSTEM Аватар для Games
    Регистрация
    28.06.2010
    Адрес
    Moscow
    Возраст
    30
    Сообщений
    1,468
    Репутация: 478

    Звание: - луч света в тёмном царстве

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Всем спасибо.

    Обновил программу.
    Добавил предпросмотр цветов. Бар может уменьшаться в размерах из-за округления при вычислении ширины каждого блока.





    Ссылка на новую версию в первом посту.
    пусто

  9. #8
    Люблю Окса :3 Аватар для Folleah
    Регистрация
    26.09.2012
    Сообщений
    2,045
    Репутация: 184

    Звание: - весьма и весьма положительная личность

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Игорь, круто, сделай еще кнопочку "Copy to buffer", для копирования всего кода в буффер обмена. Не знаю как остальным, мне бы эта кнопочка пригодилась =)

  10. #9
    SYSTEM Аватар для Games
    Регистрация
    28.06.2010
    Адрес
    Moscow
    Возраст
    30
    Сообщений
    1,468
    Репутация: 478

    Звание: - луч света в тёмном царстве

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Цитата Сообщение от Folleah Посмотреть сообщение
    Игорь, круто, сделай еще кнопочку "Copy to buffer", для копирования всего кода в буффер обмена. Не знаю как остальным, мне бы эта кнопочка пригодилась =)
    Cпасибо)

    http://www.solidfiles.com/d/edfba0a358/ - с кнопкой "Copy".
    пусто

  11. #10
    ваш статус был снят систе Аватар для DeadLine
    Регистрация
    10.03.2011
    Адрес
    Казахстан, Алма-Ата
    Возраст
    28
    Сообщений
    2,449
    Репутация: 243

    Звание: - весьма и весьма положительная личность

    Re: Линейный градиент (переход от одного цвета к другому в N шагов)

    Попробывал один разок))) не очень удивил результат))) ну лан)) молодец по старался)




Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Ограничения для одного игрока
    от DeadLine в разделе Вопросы по скриптингу
    Ответов: 21
    Последнее сообщение: 04.10.2013, 13:57
  2. Плавный переход цветов
    от Ленивый в разделе Заказы
    Ответов: 1
    Последнее сообщение: 01.10.2013, 20:06
  3. Плавный переход цветов
    от Ленивый в разделе Вопросы по скриптингу
    Ответов: 7
    Последнее сообщение: 01.10.2013, 16:45
  4. Переход от одного диалога к другому
    от MROBAR в разделе Вопросы по скриптингу
    Ответов: 5
    Последнее сообщение: 05.05.2013, 20:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •