C# .NET Windows Form | СОЗДАЁМ PAINT НА C#

Привет! В сегодняшнем уроке мы сделаем подобие всем известного Paint!)
Если Вы начинающий программист, рекомендую посмотреть урок по созданию калькулятора на языке C# • C# ПЕРВАЯ ПРОГРАММА | ...
Если данное видео тебе было полезно, не забудь подписаться, для тебя это ничего не стоит, а мне приятно :))
P.s Видео в 4к будет доступно через 5-7 часов
---
Track: Sleepy Jake
Music created by Silent Partner
Watch • Sleepy Jake - Silent P...
Track: Heartland
Music created by Silent Partner
Watch • Heartland - Silent Par...
Track: Hit My Soul
Music created by Silent Partner
Watch • Hit My Soul - Silent P...
Track: Log Cabin
Music created by Silent Partner
Watch • Log Cabin - Silent Par...
Track: Harvest Time
Music created by Silent Partner
Watch • (No Copyright Music) H...
Track: Country Instrumental Music
Music created by Mixroba Studio
Watch • FREE COUNTRY INSTRUMEN...
Track: Ukulele and Harmonica Indie Music Background
Music created by Mixroba Studio
Watch • UKULELE AND HARMONICA ...
Track: Milky Way Stars [NCS Release]
Music created by Janji feat. TR
Watch • Janji feat. TR - Milky...
Track: Daisy Dukes
Music created by Silent Partner
Watch • Daisy Dukes - Silent P...
Track: Life of Riley
Music created by Kevin MacLeod
Watch • Life of Riley
⭐ Download store.payloadz.com/details/21...

Пікірлер: 67

  • @channeloftwogentlemen9194
    @channeloftwogentlemen91943 жыл бұрын

    На моменте 20:44 я сказал , что условие НЕ равно, а сам написал РАВНО, исправьте на НЕ РАВНО, иначе сохранение работать не будет! Извините за ошибку(

  • @qwerty12345qwerty

    @qwerty12345qwerty

    2 жыл бұрын

    в 76 строке ошибка

  • @maximleo1904

    @maximleo1904

    2 жыл бұрын

    можешь помочь?у меня не рисует и возникает ошибка в методе drawlines

  • @impraverion

    @impraverion

    Жыл бұрын

    Я создал простенький метод загрузки изображения в picturebox, но при рисование на загруженной фотке не работает - она обнуляется при попытке рисования. private void button11_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Directory.GetCurrentDirectory(); if (openFileDialog.ShowDialog() == DialogResult.OK) { try { pictureBox1.Image = new Bitmap(openFileDialog.FileName); } catch { MessageBox.Show("Невозможно открыть выбранный файл!"); } то есть он стирает ее при попытке нарисовать поверх. что можно придумать?

  • @BroVaduxa777

    @BroVaduxa777

    Жыл бұрын

    @@impraverion бро, скинешь проект?🚀❤️

  • @user-oe7lj9rt2s
    @user-oe7lj9rt2s3 жыл бұрын

    Лучший! Без воды и прочего, всё понятно и не мямлит, как остальные блогеры. Дальнейшего продвижения канала💫

  • @DDoZERR0

    @DDoZERR0

    2 жыл бұрын

    так же обратим внимание на высокое качество записи, аж приятно было)

  • @dinarplay2557
    @dinarplay25573 жыл бұрын

    cпасибо за видеоурок!

  • @deniswdwd2388
    @deniswdwd2388 Жыл бұрын

    отличный разбор программы, ничего лишнего и все понятно из объяснений

  • @kserx945
    @kserx9453 жыл бұрын

    Классный видеоурок.Полезный

  • @user-mw7dq9oh8q
    @user-mw7dq9oh8q3 жыл бұрын

    видео класс. все кратко и понятно. искал именно такую тему по графике. хоть я и чуть больше чем новичок в C# . было полезно. про CLASS более понял(чем от других ( но боюсь придется пересмотреть.)время ночь). была запара с 88 строчкой. в квадратных скобках [graphics.DrawLines(pen,arrayPoints.GetPoints());] после слова "PEN" поставил точку.

  • @Lovely_Ferret
    @Lovely_Ferret Жыл бұрын

    Чувак, огромное спасибо тебе! Теперь я смогу лабу сделать, красавчик. Хочется правда ещё модернизировать, но это уже мои заскоки

  • @vagabund2839
    @vagabund2839 Жыл бұрын

    Спасибо большое!🔥

  • @vagabund2839
    @vagabund2839 Жыл бұрын

    Красавчик!!!

  • @sutury5388
    @sutury53883 жыл бұрын

    супер!)

  • @frogwarg
    @frogwarg Жыл бұрын

    Это полностью моя курсовая работа... Ну, всмысле, у меня тема Графический редактор и тут один в один то что мне нужно, спасибо большое!)

  • @BroVaduxa777

    @BroVaduxa777

    Жыл бұрын

    бро, скинешь проект?🚀❤️

  • @vagabund2839
    @vagabund2839 Жыл бұрын

    🔥🔥🔥

  • @z.prod.7882
    @z.prod.7882 Жыл бұрын

    лучший!

  • @chibikryak
    @chibikryak7 ай бұрын

    это гениально....

  • @blob-like_Frog
    @blob-like_Frog Жыл бұрын

    Спасибо большое

  • @user-be9rc4yz8r
    @user-be9rc4yz8r Жыл бұрын

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

  • @5326994
    @5326994 Жыл бұрын

    Ты конечно молодец(но много вещей не понятно 4 из 5 лучший(Лайк оставил))

  • @xotyenota3817
    @xotyenota38172 жыл бұрын

    Привет, можешь сделать уроки по созданию векторного графического редактора, с нормальным интерфейсом, возможностью изменять цвета, на с#?

  • @clarkecooper6979
    @clarkecooper69792 жыл бұрын

    Подскажите пожалуйста, как мне не очищать picturebox перед рисованием? У меня просто там программно отрисовываются графики и потом мне нужно на них рисовать мышкой

  • @user_TAJcGbJA
    @user_TAJcGbJA Жыл бұрын

    Тоже самое, только без Классов, проще некуда: public partial class Form1 : Form { Color color = Color.Black; Bitmap bmp = null; Graphics graphics; Pen pen; bool firstPress = false; bool draw = false; Point p1, p2; // Важно завести глобальные точки public Form1() { InitializeComponent(); bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height); pen = new Pen(color); pen.StartCap = LineCap.Round; pen.EndCap = LineCap.Round; } private void pictureBox1_Paint(object sender, PaintEventArgs e) { if (draw) { draw = false; using (graphics = Graphics.FromImage(bmp)) // использование using уменьшает количество используемой памяти { graphics.DrawLine(pen, p1, p2); p1 = p2; // Чтобы линия повторяла курсор мыши } pictureBox1.Image = bmp; } } private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { firstPress = true; p1 = e.Location; } private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { if (firstPress) { p2 = e.Location; draw = true; pictureBox1.Invalidate(); } } private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { firstPress = false; } }

  • @extremely8018

    @extremely8018

    Жыл бұрын

    Братан, у меня LineCap.Round подсвечивается красным, типо имени нет, что делать?

  • @user_TAJcGbJA

    @user_TAJcGbJA

    Жыл бұрын

    @@extremely8018 VisualStudio подскажет что нужно подключить, мышку придержи просто на ошибке.

  • @user-cv1zv8rl2s
    @user-cv1zv8rl2s6 ай бұрын

    Идея для нового урока: связка Panel и PictureBox для изображений больше размеров экрана. Как продолжение этого урока.

  • @MarkVezelis-xc5gi
    @MarkVezelis-xc5gi4 ай бұрын

    Помогите пожалуйста выходит ошибка CS1061 Form1 не содержит определение "pictureBox1_Click", и не удалось найти доступный метод расширения "pictureBox1_Click", принимающий тип "Form1" в качестве первого аргумента (возможно, Paint пропущена директива using или ссылка на сборку). ВОТ ЧТО МНЕ ДЕЛАТЬ КАК РЕШИТЬ ЭТУ ПРОБЛЕМУ КТО НИБУДЬ ПОМОГИТЕ!

  • @user-nv4yz5bt4g
    @user-nv4yz5bt4g Жыл бұрын

    Создал программу где цикл for рисует вертикальные линии , а второй цикл рисует горизонтальные линни и объединил два в один метод . Почему-то метод рисует набор вертикальных рисует хорошо , а набор горизонтальных линий не рисует . Не могу понять в чем дело ? Вертикальные линии есть , горизонтальные лини не прорисовываются . Ваш урок для меня очень интересен - пытаюсь написать ваш редактор .

  • @addonsb
    @addonsb Жыл бұрын

    Народ , как починить то что у меня новая линия начинается из предыдущей?

  • @skoch5658
    @skoch56582 жыл бұрын

    Привет! Могу ли я с тобой связаться?

  • @bogelmanDDD
    @bogelmanDDD2 жыл бұрын

    Добрый день! Но будет ли урок о том, как создать свой собственный VST-синтезатор на C#?

  • @camelos

    @camelos

    Жыл бұрын

    с чего это "но"?

  • @ranzerpubg4366
    @ranzerpubg43663 жыл бұрын

    Почему у меня рисуется одной линеей?

  • @user-lb9zm2jc7w
    @user-lb9zm2jc7w2 жыл бұрын

    у кого нибудь есть готовый код? можете скинуть?

  • @lespri
    @lespri9 ай бұрын

    можно пожалуйста готовый файл ?

  • @user-re3co4uq6b
    @user-re3co4uq6b3 жыл бұрын

    Идеально, но что-то не так (не рисует)

  • @leinadalien
    @leinadalien2 жыл бұрын

    неплохо, но есть одно но: я реализовал очистку таким же способом у себя и почему то после того как я нажимаю очистить у меня выделяется дополнительная память, хотя по идее она должна наоборот освобождаться🤔

  • @Lovely_Ferret

    @Lovely_Ferret

    Жыл бұрын

    Чувак, тут очистка реализована просто заполнением памяти. Вот ты нарисовал линию, а функция очистки зарисовывает все поле одним цветом, т е одна линия на другую накалдывается тем самым закрашивая или очищая, как нравится

  • @ShadVert

    @ShadVert

    Жыл бұрын

    Прошёл год но отвечу... Для начала два чела сверху мелят херню, на самом деле это визуально проводник показывает что у тебя заполняется память по если ты очистишь бокс 4 - 5 раз то ты заметишь что память выше не поднимается то есть остаётся максимум 26 мегабайт так что вот так вот...

  • @leinadalien

    @leinadalien

    Жыл бұрын

    @@ShadVert да уже не актуально. Мне таску в унике надо было делать, вот видос твой смотрел. Если интересно что получилось, (Ютуб ссылку не даёт вставить сюда) отпиши мне куда-нибудь, я скину репу

  • @ShadVert

    @ShadVert

    Жыл бұрын

    @@leinadalien, я не являюсь автором канала так что видос не мой.

  • @Armyashkaru
    @Armyashkaru2 ай бұрын

    Бро он у меня не сохраняет я не понимаю в чём дело(

  • @tayarzaeva
    @tayarzaeva Жыл бұрын

    Здравствуйте, а можете подсказать как сделать ластик? Мне нужно для курсовой работы

  • @thegamoxidchanel7747

    @thegamoxidchanel7747

    Жыл бұрын

    Если ещё актуально, я сделал ластик так: pen.Color = pictureBox1.BackColor; проще говоря я нажимая на кнопку "ластик", присваиваю кисти, цвет заднего фона редактируемого полотна.

  • @crazyzew9800
    @crazyzew98002 жыл бұрын

    Hi, can you post the whole code in the comments?

  • @Lovely_Ferret

    @Lovely_Ferret

    Жыл бұрын

    Сам пиши, так лучше запомнишь

  • @antonsimkin
    @antonsimkin3 жыл бұрын

    У меня панель Выбор толщины устанавливается выше панели цвета. А еще у меня не сохраняется файл.

  • @daniilkams

    @daniilkams

    2 жыл бұрын

    ты не видишь? автор комментарий написал: На моменте 20:44 я сказал , что условие НЕ равно, а сам написал РАВНО, исправьте на НЕ РАВНО, иначе сохранение работать не будет! Извините за ошибку(

  • @maximleo1904

    @maximleo1904

    2 жыл бұрын

    @@daniilkams и че?все равно не робит

  • @toxodus

    @toxodus

    6 ай бұрын

    ​@@maximleo1904тебе вместо == надо поставить !=

  • @perdedustv3171
    @perdedustv31713 жыл бұрын

    Здравсвтуйте! У меня пишет что Имя "colorDialog1" не существует в текущем контексте

  • @tallegor

    @tallegor

    2 жыл бұрын

    Ты не поместил colorDialog на форму. 16:50

  • @irwe3514
    @irwe35142 жыл бұрын

    Все отлично, но у меня почему-то не сохраняется результат, а в целом конструктивно

  • @BroVaduxa777

    @BroVaduxa777

    Жыл бұрын

    бро, скинешь проект?🚀❤️

  • @irwe3514

    @irwe3514

    Жыл бұрын

    @@BroVaduxa777 он утерен.

  • @user-us7wj3gn8m
    @user-us7wj3gn8m2 жыл бұрын

    Может есть у кого код этот? Срочно нужно

  • @lukaviann
    @lukaviann Жыл бұрын

    Хелп, у меня линия рисует неотрывно, даже если выбирать другой цвет. Что я могла упустить? 🥲

  • @BroVaduxa777

    @BroVaduxa777

    Жыл бұрын

    нужна твоя помощь🙏🏻 скинешь проект?🚀❤️

  • @user-mx2yu2po1o

    @user-mx2yu2po1o

    Жыл бұрын

    Привет ты решил проблему?

  • @lukaviann

    @lukaviann

    Жыл бұрын

    @@BroVaduxa777 какой проект?)

  • @BroVaduxa777

    @BroVaduxa777

    Жыл бұрын

    @@lukaviann этот с пеинтом, уже не нужно, благодарю❤️😌

  • @Rotara
    @Rotara2 жыл бұрын

    private void pictureBox2_MouseMove(object sender, MouseEventArgs e) { if (!isMouse) { return; } arrayPoints.SetPoint(e.X, e.Y); if (arrayPoints.GetCountPoints() >= 2) { graphics.DrawLines(pen, arrayPoints.GetPoints()); pictureBox1.Image = map; arrayPoints.SetPoint(e.X, e.Y); } } Выдаёт ошибку CS0122

Келесі