Страницы: 1

Ответить
RSS
Создание растрового редактора - часть 3. Система слоев.
 
Создание растрового редактора - часть 3. Система слоев.

Целью данной главы будет создание простого растрового редактора в OpenGL с использованием C# .NET. Небольшое приложение, по своей функциональности напоминающее Windows Paint.
В процессе реализации этой главы вы закрепите навыки 2D визуализации, а также построения приложения, включающего большое количество инструментов и методов платформы .NET.

Целью третьей части главы будет завершить реализацию системы слоев и обновить систему их визуализации, повысив быстродействие, учитывая алгоритм их взаимодействия при визуализации.
information must be free for all
 
В функции "добавить слой" должно инкрементироваться и значение AllLayrsCount, и именно с помощью него нужно создавать имя нового слоя. Иначе, если удалить слой, а потом добавить, то повторяются имена.
Как-то так:
Код
private void добавитьСлойToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayersCount++; 
            AllLayrsCount++; //!
            ProgramDrawingEngine.AddLayer();
            
            int AddingLayerNum = LayersControl.Items.Add("Слой" + AllLayrsCount.ToString(), false); //!

            LayersControl.SelectedIndex = AddingLayerNum;
 
            ActiveLayer = AddingLayerNum;
        }
Хотя глянул приложенный к 6.5 проект - там так и есть, поправьте в уроке только(:


Функция удаления слоя заработала, только когда переставил местами вот эти две строки:
Код
LayersControl.SelectedIndex = 0;
ActiveLayer = 0;
Если делать, как в уроке, то при установке SelectedIndex равным нулю, выбрасывает OutOfRange в событии SelectedValueChanged: сам слой (скажем, шестой) уже удалён, но событие обращается к нему, ибо значение ActiveLayer ещё осталось необновлённым. Вроде бы надо так:
Код
ActiveLayer = 0;
LayersControl.SelectedIndex = 0;
А ещё чёт не нашёл, где в уроках разбирается функция ClearList().
 
А, нашёл ClearList в 6.5. Но на данном этапе, в этом уроке, наверное, её не должно было быть.

И да, клёвые уроки, респект автору!
 
Цитата
Александр написал:
А, нашёл ClearList в 6.5. Но на данном этапе, в этом уроке, наверное, её не должно было быть.
Привет.
Да-да, в исходные коды, прикрепленные к последнему уроку надо поглядывать, т.к. в первых частях могут быть ошибки.
Я пометил себе, что нужно перепроверить урок - 6й самый проблемный из всех, надо уже взять себя в руки и переписать его  :D
information must be free for all
 
Цитата
admin написал:
И да, клёвые уроки, респект автору!
Спасибо  :)
information must be free for all
Страницы: 1

Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить картинки
Отправить Отменить
 
^
Регистрация
Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 
×
Восстановление пароля
Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш Email. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
×
Авторизация
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.
Авторизуйтесь с помощью соц. сети или с помощью аккаунта на сайте:
×