Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Overflow error. 
:(
    Опции темы
Elfet
Дата 13.8.2007, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата

Overflow error.

Что это такое? Почему возникает?
Вышла вот здесь:
Код

        private void screen_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.SmoothingMode = SmoothingMode.HighSpeed;
            e.Graphics.TranslateTransform(startCoordinates.X, startCoordinates.Y);

            foreach (Particle particle in myListParticles)
            {
                GraphicsPath path = new GraphicsPath();
                path.AddEllipse(
                    (particle.coordinates.X - particle.radius),
                    (particle.coordinates.Y - particle.radius),
                    (2 * particle.radius), (2 * particle.radius));
                if (myParticleDrawType == ParticleDrawType.Gradient)
                {
                    PathGradientBrush brush = new PathGradientBrush(path);
                    brush.CenterPoint = new PointF(particle.coordinates.X, particle.coordinates.Y);
                    brush.CenterColor = particle.color;
                    brush.SurroundColors = new Color[] { Color.Transparent };
                    e.Graphics.FillPath(brush, path); // тута. и ещё сказала что-то про то что бы я проверил не деление на ноль ли здесь? =/
                }
                else
                {
                    e.Graphics.FillPath(new SolidBrush(particle.color), path);
                }
                if (drawVector)
                {
                    e.Graphics.DrawLine(Pens.BlueViolet, particle.coordinates.X,
                        particle.coordinates.Y,
                        (particle.coordinates.X + particle.vector.X),
                        (particle.coordinates.Y + particle.vector.Y));
                }
            }

            if (setNewParticle)
            {
                e.Graphics.DrawLine(Pens.Black, start.X, start.Y, end.X, end.Y);
                e.Graphics.DrawEllipse(Pens.Black, start.X - newParticleRadius / 2, start.Y - newParticleRadius / 2, newParticleRadius, newParticleRadius);
            }
            else if (moveScreen)
            {
                e.Graphics.TranslateTransform(-startCoordinates.X, -startCoordinates.Y);
                e.Graphics.DrawEllipse(Pens.Gray, start.X - 5, start.Y - 5, 10, 10);

                startCoordinates += start - end;
            }

        }



--------------------
PM MAIL WWW Skype   Вверх
Idsa
Дата 13.8.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 14
Всего: 62



Цитата(Elfet @  13.8.2007,  15:38 Найти цитируемый пост)
Вышла вот здесь:

Где конкретно?
P. S. Неплохо было бы выложить весь код.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Exception
Дата 13.8.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Ты можешь полный текст ошибки привести?
PM   Вверх
Elfet
Дата 13.8.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Хм. Больше её пока не возникало  :-/
Я чего то с кодом намухлевал переписал кусок smile
Всё равно всем спасибо! smile


--------------------
PM MAIL WWW Skype   Вверх
Naum
Дата 14.8.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



Неплохо бы GraphicsPath'у делать Dispose(). Да и вообще все объекты GDI+, которые ты сам создал через New лучше диспозить.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Elfet
  Дата 14.8.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



А я правильно ли вообще рисую?
Я ещё видел вот так:
Код

            using (Bitmap toPaint = new Bitmap(this.Width, this.Height))
            {
                using (Graphics g = Graphics.FromImage(toPaint))
                {
                    e.Graphics.DrawImage(toPaint, 0, 0);
                } 
            } 


Цитата(Naum @  14.8.2007,  16:42 Найти цитируемый пост)
Да и вообще все объекты GDI+, которые ты сам создал через New лучше диспозить. 

Почему?
Разве с ними сборщик мусора не справляется?


--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.