1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
1

Как нарисовать солнце

29.11.2012, 14:49. Показов 10221. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста нарисовать солнышко
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2012, 14:49
Ответы с готовыми решениями:

Графика. Нарисовать небо, движущиеся облака и солнце; если облако закрывает солнце, идет дождь
Нарисовать небо и движущиеся облака и солнце. Если облако закрывает солнце, идет дождь. Движение...

Нарисовать тучу,закрывающую солнце. Когда туча наполовину закроет солнце начинается дождь
Собственно само задние:нарисовать тучу закрывающую солнце когда туча наполовину закроет солнце...

Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь
Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь.

Как нарисовать движущееся солнце
нужно нарисовать движущееся солнце или как растет цветок на QBasice :help:

7
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
29.11.2012, 15:26 2
используйте класс Graphics, и будет счастье вам
0
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 974
29.11.2012, 15:26 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void Form1_Paint(object sender, PaintEventArgs e)
{
    e.Graphics.Clear(this.BackColor);
    const int margin = 40;
    int size = Math.Min(this.ClientRectangle.Width, this.ClientRectangle.Height) - margin * 2;
    e.Graphics.FillEllipse(
        Brushes.Yellow,
        new Rectangle(
            (this.ClientRectangle.Width - size) >> 1,
            (this.ClientRectangle.Height - size) >> 1,
            size,
            size));
 
}
 
private void Form1_ResizeEnd(object sender, EventArgs e)
{
    this.Invalidate();
}
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
29.11.2012, 15:28  [ТС] 4
а весь проект можете скинуть?спасибо
0
Почетный модератор
21414 / 9148 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
29.11.2012, 18:25 5
Как вариант
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
       private void Form1_Load(object sender, EventArgs e)
        {
            int TL = 150;
            int X = 0;
            int Y = 0;
            Random R = new Random();
            Bitmap BM = new Bitmap(this.Width, this.Height);
            Graphics G = Graphics.FromImage(BM);
            System.Drawing.Drawing2D.LinearGradientBrush grad = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, this.Width, this.Height), Color.Blue, Color.Aqua, System.Drawing.Drawing2D.LinearGradientMode.Vertical);
            G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            G.FillRectangle(grad, new Rectangle(0, 0, this.Width, this.Height));
            for (float I = 0; I <= 360; I += 0.9F)
            {
                X = Convert.ToInt32(Math.Cos(I) * 100 * R.Next(0, 6) + TL);
                Y = Convert.ToInt32(Math.Sin(I) * 100 * R.Next(0, 6) + TL);
                G.DrawLine(Pens.Yellow, X, Y, TL, TL);
            }
            G.FillEllipse(Brushes.Yellow, new Rectangle(TL / 2, TL / 2, TL, TL));
            this.BackgroundImage = BM;
        }
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
30.11.2012, 23:42  [ТС] 6
здорово. такая красота) а можете написать коментарии к командам?
1
Почетный модератор
21414 / 9148 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
01.12.2012, 00:21 7
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        private void Form1_Load(object sender, EventArgs e)
        {
            int TL = 150; //150 пикселей сверху и слева от границ формы
            int X = 0; //координата Х начала линии
            int Y = 0; //координата Y начала линии
            Random R = new Random(); //Создаем генератор случайных чисел для того, чтобы лучи были разной длины
            Bitmap BM = new Bitmap(this.Width, this.Height); //создаем полотно, на котором будем рисовать, размером с форму
            Graphics G = Graphics.FromImage(BM); //Графика для рисования на полотне
            //Далее создаем кисть с градиентной заливкой, от голубого до синего с размерами формы
            System.Drawing.Drawing2D.LinearGradientBrush grad = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, this.Width, this.Height), Color.Blue, Color.Aqua, System.Drawing.Drawing2D.LinearGradientMode.Vertical);
            G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; //Антиалисинг для сглаживания всего, что будет нарисовано
            G.FillRectangle(grad, new Rectangle(0, 0, this.Width, this.Height)); //рисуем прямоугольник с этой градиентной структурой
            for (float I = 0; I <= 360; I += 0.9F) //прогон цикла от 0 до 360 с шагом в 0.9
            {
                X = Convert.ToInt32(Math.Cos(I) * 100 * R.Next(0, 6) + TL); //координата Х линии, где начало будет вокруг центра по окружности, а конец всегда в одной и той же точке TL
                Y = Convert.ToInt32(Math.Sin(I) * 100 * R.Next(0, 6) + TL); //то же самое, для Y. Обе завязаны на датчик случайных чисел, чтобы лучи были разной длины
                G.DrawLine(Pens.Yellow, X, Y, TL, TL); //собственно, рисуем линию
            }
            G.FillEllipse(Brushes.Yellow, new Rectangle(TL / 2, TL / 2, TL, TL)); //рисуем желтый круг с центром, общим для всех линий (лучей)
            this.BackgroundImage = BM; //готовое полотно с солнцем помещаем на форму в качестве фона
        }
1
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
01.12.2012, 00:37  [ТС] 8
спасибо большое
0
01.12.2012, 00:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2012, 00:37
Помогаю со студенческими работами здесь

Нарисовать солнце
Здравствуйте, нужно в Делфи нарисовать солнце, не знаю как прописать цикл с лучами, помогите...

Нарисовать солнце
помогите нарисовать Красивое солнышко в Паскаль!) пожалуйста!!!

Нарисовать Солнце
Не могу понять как нарисовать закрашенные треугольные лучи солнца (картинка во вложении), код ниже:...

Графика, нарисовать солнце
Нарисовать солнце. ( Помогите с программой.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru