Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/43: Рейтинг темы: голосов - 43, средняя оценка - 4.88
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967

Рисование простой графики

27.09.2016, 13:16. Показов 9335. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
расскажите как рисовать простенькую графику в С# (visual studio). я нуб и не собираюсь рисовать игры и т.д.

хотелось бы научится рисовать графики, диаграммы, с элементами фильтрации и прокрутки (очень длинные диаграммы). так же хочу чтобы элементы диаграммы реагировали на нажатия мышью(по щелчку на элемент диаграммы чтобы отображалась информация о нем или чтобы он распадался на составляющие). это в целом куда хочу двигаться, а в общем, хочу понять как устроена работа с графикой и рисованием в с#, например поточечная рисовка.

второе что хочу научиться - это анализировать изображения: поиск текста, окон на экране и элементов управления, но это в будущем.

что можете посоветовать к изучению? проблема в том что вся начинающая литература никогда не затрагивает работы с графикой.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2016, 13:16
Ответы с готовыми решениями:

Рисование произвольной графики
Надо нарисовать простейшую кнопочку на форме через класс Graphics, но получается хрень... private void TestForm_MouseMove(object sender,...

Графики функций и рисование
Есть задание: (Напишите приложение, которое строит ряд увеличивающихся окружностей, центры которых лежат на спирали. Число окружностей...

Одновременное рисование текста и графики
Есть Bitmap в нем рисую обект с подписями (к примеру координатные оси) Чтобы было проще: для объекта Graphics, полученного от Bitmap,...

22
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
27.09.2016, 16:01
https://msdn.microsoft.com/ru-... s.90).aspx
https://msdn.microsoft.com/ru-... .110).aspx
https://msdn.microsoft.com/ru-... .110).aspx
0
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
27.09.2016, 18:02
Цитата Сообщение от golosalex Посмотреть сообщение
хотелось бы научится рисовать графики, диаграммы, с элементами фильтрации и прокрутки (очень длинные диаграммы). так же хочу чтобы элементы диаграммы реагировали на нажатия мышью(по щелчку на элемент диаграммы чтобы отображалась информация о нем или чтобы он распадался на составляющие). это в целом куда хочу двигаться, а в общем, хочу понять как устроена работа с графикой и рисованием в с#, например поточечная рисовка.
Есть менее "растровый" подход к представлению данных на экране - wpf. Здесь ты будешь делить компоненты на кучу мелких объктных состовляющих со своими событиями и триггерами, и каждая книга именно о этом.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
28.09.2016, 00:09
Вам предстоит для начала сделать важный выбор: WinForms vs WPF

Так рисуется линия в WPF по нажатию на кнопку (в разметке нужно элементу Grid добавить свойство Name: <Grid Name="MainGrid" >)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Line line = new Line();
 
            line.Stroke = System.Windows.Media.Brushes.Black;
            line.Fill = System.Windows.Media.Brushes.Black;
 
            // Start Point
            line.X1 = 0;
            line.Y1 = 0;
 
            // End Point
            line.X2 = Application.Current.MainWindow.ActualWidth;
            line.Y2 = Application.Current.MainWindow.ActualHeight;
 
            MainGrid.Children.Add(line);
        }
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
28.09.2016, 00:23
3D графики, очевидно, не входят в понятие "простой графики", но так на всякий случай отмечу, что у WPF есть преимущество, что позже вы сможете осваивать 3D графики. Запустите для интереса проект из этой статьи: WPF: 3D graph
Миниатюры
Рисование простой графики  
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
28.09.2016, 08:44  [ТС]
WPF мне больше нравится, с чего начать обучение?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
28.09.2016, 10:15
Учиться лучше всего выполняя какие-то практические задачи. Про теорию тоже не нужно забывать. Гуглить, гуглить и ещё раз гуглить: статьи, туторы, видео курсы и т.д. Может даже какие-то хорошие книжки нагуглите.

Ставьте для начала какие-то не очень сложные для вас задачи. Например, нарисуйте оси координат XY. Линию я показал как рисовать. Этого достаточно, чтобы нарисовать две оси и насечки. А дальше пошло поехало. Например, нарисуйте параболу. Для этого гуглите: draw parabola wpf Смотрите чужие решения, документацию на MSDN. Главное, это побольше практики и побольше ставьте перед собой задач. Только не ставьте сразу слишком сложные задачи, а будет сложно психологически. Нужно чтобы процесс приносил радость.

Вот прямо сейчас отрывайте VS. Создавайте проект WPF. Сделайте, чтобы выводилось две линии красного и зелёного цвета, которые пересекаются в центре окна под прямым углом. Потом в циклах нарисуйте насечки. Параболу можно для начала нарисовать с помощью ломанных. Для этого нужно вычислять координаты точек, которые принадлежат параболе и рисовать линии между этими точками. Чем больше точек, тем плавнее будет парабола.
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
29.09.2016, 11:34  [ТС]
я чутка разобрался в c#. по крайне мере кое-как умею лепить консольные программы и читать из файла. но вот создаю я проект WPF и ничего там не понимаю, ни того куда что-то вбивать ни того, что показано на экране. в общем я с VS в целом плохо знаком и мне надо по шагам все объяснять. пока что решать задачки, и вникать в созданный кем-то код не канает. это как дать пустой системник, монитор, несколько кабелей и установочный диск виндос раку и сказать ему сам разбирайся. какова вероятность что он сам правильно воткнет кабели, установит виндос, правильно его настроит и поймет как с ним работать чтоб достичь просветления? шансы довольно низкие. Так и в моем случае надо пошагово как-то пройти этапы от момента открытия окна VS до момента создания простого приложения или нескольких простых приложений. на каждом этапе нужно объяснять, что это происходит и Т.Д. подобные нубские руководства в изобилие есть в с# а вот тут во всех книгах нагло пишут элементы кода и не говорят куда его вбивать? при чем воды налито одной и той же полно во всех книгах. Введение на 10 страниц и история развития WPF меня мало волнует, лучше бы скрин программы сделали, обвели места где какое окошко, а окошек разных в проекте около дестка, и это в только созданном проекте WPF. куда нубу вбивать код? Прошу помощь начать с нулевого уровня.
0
.NET senior
 Аватар для bax_tang
441 / 359 / 137
Регистрация: 23.09.2016
Сообщений: 980
29.09.2016, 11:45
golosalex, попробуйте посмотреть вот эти бесплатные видеокурсы. В них достаточно подробно и без "воды" рассказывается, что, как, куда, зачем, почему и "кто все эти люди".

Ваше собственное желание разобраться в платформе .NET в целом и в языке C# в частности - вот главный Ваш помощник.
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
29.09.2016, 12:55  [ТС]
благодарю за ответ, я так понял, что пока я как следует не разберусь с С# и VS мне не стоит браться за WPF?
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
29.09.2016, 13:27
Цитата Сообщение от golosalex Посмотреть сообщение
расскажите как рисовать простенькую графику в С# (visual studio)
Приведите какие-нибудь примеры, что вы имеете ввиду под простенькой графикой?
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.09.2016, 14:04
Цитата Сообщение от golosalex Посмотреть сообщение
благодарю за ответ, я так понял, что пока я как следует не разберусь с С# и VS мне не стоит браться за WPF?
Разбиритесь с азами - и Вам будет все равно WinForms или WPF или еще что. Начните с этого
https://www.youtube.com/watch?v=7ORtRJL-Vec
FAQ для студентов или школьников
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
29.09.2016, 14:07  [ТС]
есть информационные системы типа 1С, которые стараются фиксировать всю деятельность предприятия, так вот на основе тех данных что фиксируются хочу попробовать делать визуализации: графики, хитрые диаграммы, чтобы можно было во времени прокручивать, чтобы был элемент итерактивности. в целом я примерно понимаю, что хочу попробовать сделать, но словами описать трудно. в общем работа с текстом, таблицами, и с 2D графикой.

пока что я берусь за те самые бесплатные видио уроки. все таки с C# я знаком очень поверхностно. подозреваю что без более глубокого знания в VS и C# учеба в WPF будет не эффективной.
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.09.2016, 14:09
Цитата Сообщение от golosalex Посмотреть сообщение
в целом я примерно понимаю, что хочу попробовать сделать, но словами описать трудно.
Если не можешь обьяснить любому - значит сам не до конца разобрался.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
29.09.2016, 14:55
Цитата Сообщение от golosalex Посмотреть сообщение
на основе тех данных что фиксируются хочу попробовать делать визуализации: графики, хитрые диаграммы, чтобы можно было во времени прокручивать, чтобы был элемент итерактивности.
Подождите с прокручиванием и интерактивностью. Это и для меня сложно, хотя я дольше вас изучаю.

Давайте смоделируем ситуацию. Можно создать текстовый файл и написать в нём какие-нибудь данные. Придумайте, что-нибудь, например, сколько стоили шурупы с начала 2016 года: в январе, в феврале, в марте и т.д.

1С база данных шурупов (месяц - цена за килограмм):
Code
1
2
3
4
5
6
7
1: 50
2: 47
3: 51
5: 52
6: 49
7: 51
8: 53
Теперь вы хотите, чтобы по оси X выводилось название месяца, а по Y цена. Ломаная линия будет соединять точки с координатами (1, 47) (2, 51) и т.д.

Вот эта простая графика. Я не говорю, что именно это нужно сделать. А я к тому что не нужно далеко уходить от своего направления. Надо ставить перед собой посильные задачи, что мы реально сможете на данный момент. "хитрые диаграммы" вы не начнёте делать прочитав хоть 5 книг по C# и столько же по WPF. Представьте, вы взяли и прочитали залпом 10 книг на год. А потом включили компьютер и начали делать очень хитрые диаграммы - такого не бывает. Ко всему нужно идти от простых вещей, потом на базе этих простых переходить к чуть более сложным, их оттачивать и идти дальше. Принцип, как у альпинистов, которые рубят ступени. В программировании тоже ступенчатый принцип, но ещё и спиральный.
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
29.09.2016, 15:33  [ТС]
само собой я не берусь только по книгам учиться, надо идти к сложному от простого, но я не особо хорошо понимаю других людей и не очень хорошо сам объясняю свои мысли, не то чтобы совсем дно, но таланта или опыта у меня мало. поэтому лучше всего работать с каким-то хорошо подготовленным видио материалом, и чтобы можно было его с кем-то обсудить, а вот читать плохие сканы книг, где мало что видно и написана галиматья, и читать макулатуру сайта майкрософт с машинным переводом английского для меня бесполезный труд. итак не знаю ничего, так еще и путать пытаются. лучше потратить побольше времени на поиск подходящего материала, чем пытаться переварить некачественный продукт.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
29.09.2016, 16:37
Цитата Сообщение от golosalex Посмотреть сообщение
само собой я не берусь только по книгам учиться, надо идти к сложному от простого
Главное, не забывайте, что теория должна подкрепляться практикой. Узнали, что-нибудь новое тут же сядьте и поиграйтесь, то есть поэкспериментируйте на практике: позапускайте, поменяйте что-то. Нужно какие-то необходимые вещи делать по многу раз с периодичностью, чтобы загнать их в долговременную память. Чтобы потом можно было набирать из головы и освобождать место для новой информации. Нужно поддерживать в себе интерес и кураж, а то если будет всегда сложно и в напряг, то мотивация будет падать. В стрессе информация намного хуже усваивается, чем если когда процесс доставляет радость.

Цитата Сообщение от golosalex Посмотреть сообщение
вот читать плохие сканы книг, где мало что видно и написана галиматья
Найдите книгу Шилдта. Там хорошо описаны основы C#.
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
30.09.2016, 09:53  [ТС]
как поменять язык в VS на английский? т.к. учебники все по английской версии, то русификатор только мешает. скачал языковой пак попробовал запустить ошибка:
Microsoft Visual Studio is required, but it is not installed on this computer. Please install it and retry.
если VS у меня не установлен, то где тогда я тогда прогаю?
скачал отсюда https://www.microsoft.com/en-u... x?id=30681
а VS я скачал здесь
https://www.visualstudio.com/r... er-offers/ Visual Studio Community
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 221
30.09.2016, 10:51
Цитата Сообщение от golosalex Посмотреть сообщение
скачал языковой пак попробовал запустить ошибка
VS делали англоговорящие, поэтому он всегда присутствуем. Языковые паки нужно ставить если нужен какой-то другой язык помимо английского.

Для переключения языка:
- откройте VS
- в меню "Инструменты" -> "Опции"
- в открывшемся окне выберите эти настройки на этих позициях (они у вас, конечно, на русском):
Миниатюры
Рисование простой графики  
0
151 / 135 / 29
Регистрация: 02.07.2013
Сообщений: 967
30.09.2016, 12:26  [ТС]
долго возился с этим, но вопрос решился. эту менюшку я видел, там небыло инглиша, я его добавил с сайта, он не хотел ставится, поставился не правильно перезагрузил потом опять поставил. теперь вроде все работает, не думал, что смена языка приведет к скачиванию файлов в 2 гига и еще долгой установки...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2016, 12:26
Помогаю со студенческими работами здесь

Рисование графики в Pascal ABC
Доброго времени суток! Подскажите плиз сайты где есть готовые примеры программ для рисования графики (домик, забор, ёлочка). Заранее...

Рисование графики для игр
Подскажите пожалуйста каим инструментом рисуеться графика в ждава играх, и как ним пользоваться, можно ли изменить графику в игре -...

Динамическое рисование пиксельной графики
Доброго времени суток уважаемые форумчане. Задача такова: открыть изображение и мышкой нарисовать на нем прямоугольник c возможностью...

Рисование графики в окне (MFC)
Здравствуйте! В диалоговом приложении открываю дочернее окно, где рисую поля и на них графики. Показаны фрагменты, поясняющие методы...

Настройка и перетаскивание панелей, рисование и графики.
Привет, всем. Пишу программу по компьютерному моделированию, но пришел к выводу, что плохо знаю базу компонентов в Delphi. Хочу...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru