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
На моменте 20:44 я сказал , что условие НЕ равно, а сам написал РАВНО, исправьте на НЕ РАВНО, иначе сохранение работать не будет! Извините за ошибку(
@qwerty12345qwerty
2 жыл бұрын
в 76 строке ошибка
@maximleo1904
2 жыл бұрын
можешь помочь?у меня не рисует и возникает ошибка в методе drawlines
@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
Жыл бұрын
@@impraverion бро, скинешь проект?🚀❤️
Лучший! Без воды и прочего, всё понятно и не мямлит, как остальные блогеры. Дальнейшего продвижения канала💫
@DDoZERR0
2 жыл бұрын
так же обратим внимание на высокое качество записи, аж приятно было)
cпасибо за видеоурок!
отличный разбор программы, ничего лишнего и все понятно из объяснений
Классный видеоурок.Полезный
видео класс. все кратко и понятно. искал именно такую тему по графике. хоть я и чуть больше чем новичок в C# . было полезно. про CLASS более понял(чем от других ( но боюсь придется пересмотреть.)время ночь). была запара с 88 строчкой. в квадратных скобках [graphics.DrawLines(pen,arrayPoints.GetPoints());] после слова "PEN" поставил точку.
Чувак, огромное спасибо тебе! Теперь я смогу лабу сделать, красавчик. Хочется правда ещё модернизировать, но это уже мои заскоки
Спасибо большое!🔥
Красавчик!!!
супер!)
Это полностью моя курсовая работа... Ну, всмысле, у меня тема Графический редактор и тут один в один то что мне нужно, спасибо большое!)
@BroVaduxa777
Жыл бұрын
бро, скинешь проект?🚀❤️
🔥🔥🔥
лучший!
это гениально....
Спасибо большое
Парень, спасибо тебе большое. Я сам люблю создавать клеточные автоматы в винформах, ну и собственно там надо расставлять клетки.. и я хз, но я тогда чёт не допер, как сделать чтоб можно было мышку зажать и водить ей рисуя клетки, и приходилось на каждую клетку собственно тыкать.. хотя конечно довольно простое решение просто булевую переменную добавить, которая бы показывала зажата ли мышка.. ну бывают у меня тупняки конечно..
Ты конечно молодец(но много вещей не понятно 4 из 5 лучший(Лайк оставил))
Привет, можешь сделать уроки по созданию векторного графического редактора, с нормальным интерфейсом, возможностью изменять цвета, на с#?
Подскажите пожалуйста, как мне не очищать picturebox перед рисованием? У меня просто там программно отрисовываются графики и потом мне нужно на них рисовать мышкой
Тоже самое, только без Классов, проще некуда: 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
Жыл бұрын
Братан, у меня LineCap.Round подсвечивается красным, типо имени нет, что делать?
@user_TAJcGbJA
Жыл бұрын
@@extremely8018 VisualStudio подскажет что нужно подключить, мышку придержи просто на ошибке.
Идея для нового урока: связка Panel и PictureBox для изображений больше размеров экрана. Как продолжение этого урока.
Помогите пожалуйста выходит ошибка CS1061 Form1 не содержит определение "pictureBox1_Click", и не удалось найти доступный метод расширения "pictureBox1_Click", принимающий тип "Form1" в качестве первого аргумента (возможно, Paint пропущена директива using или ссылка на сборку). ВОТ ЧТО МНЕ ДЕЛАТЬ КАК РЕШИТЬ ЭТУ ПРОБЛЕМУ КТО НИБУДЬ ПОМОГИТЕ!
Создал программу где цикл for рисует вертикальные линии , а второй цикл рисует горизонтальные линни и объединил два в один метод . Почему-то метод рисует набор вертикальных рисует хорошо , а набор горизонтальных линий не рисует . Не могу понять в чем дело ? Вертикальные линии есть , горизонтальные лини не прорисовываются . Ваш урок для меня очень интересен - пытаюсь написать ваш редактор .
Народ , как починить то что у меня новая линия начинается из предыдущей?
Привет! Могу ли я с тобой связаться?
Добрый день! Но будет ли урок о том, как создать свой собственный VST-синтезатор на C#?
@camelos
Жыл бұрын
с чего это "но"?
Почему у меня рисуется одной линеей?
у кого нибудь есть готовый код? можете скинуть?
можно пожалуйста готовый файл ?
Идеально, но что-то не так (не рисует)
неплохо, но есть одно но: я реализовал очистку таким же способом у себя и почему то после того как я нажимаю очистить у меня выделяется дополнительная память, хотя по идее она должна наоборот освобождаться🤔
@Lovely_Ferret
Жыл бұрын
Чувак, тут очистка реализована просто заполнением памяти. Вот ты нарисовал линию, а функция очистки зарисовывает все поле одним цветом, т е одна линия на другую накалдывается тем самым закрашивая или очищая, как нравится
@ShadVert
Жыл бұрын
Прошёл год но отвечу... Для начала два чела сверху мелят херню, на самом деле это визуально проводник показывает что у тебя заполняется память по если ты очистишь бокс 4 - 5 раз то ты заметишь что память выше не поднимается то есть остаётся максимум 26 мегабайт так что вот так вот...
@leinadalien
Жыл бұрын
@@ShadVert да уже не актуально. Мне таску в унике надо было делать, вот видос твой смотрел. Если интересно что получилось, (Ютуб ссылку не даёт вставить сюда) отпиши мне куда-нибудь, я скину репу
@ShadVert
Жыл бұрын
@@leinadalien, я не являюсь автором канала так что видос не мой.
Бро он у меня не сохраняет я не понимаю в чём дело(
Здравствуйте, а можете подсказать как сделать ластик? Мне нужно для курсовой работы
@thegamoxidchanel7747
Жыл бұрын
Если ещё актуально, я сделал ластик так: pen.Color = pictureBox1.BackColor; проще говоря я нажимая на кнопку "ластик", присваиваю кисти, цвет заднего фона редактируемого полотна.
Hi, can you post the whole code in the comments?
@Lovely_Ferret
Жыл бұрын
Сам пиши, так лучше запомнишь
У меня панель Выбор толщины устанавливается выше панели цвета. А еще у меня не сохраняется файл.
@daniilkams
2 жыл бұрын
ты не видишь? автор комментарий написал: На моменте 20:44 я сказал , что условие НЕ равно, а сам написал РАВНО, исправьте на НЕ РАВНО, иначе сохранение работать не будет! Извините за ошибку(
@maximleo1904
2 жыл бұрын
@@daniilkams и че?все равно не робит
@toxodus
6 ай бұрын
@@maximleo1904тебе вместо == надо поставить !=
Здравсвтуйте! У меня пишет что Имя "colorDialog1" не существует в текущем контексте
@tallegor
2 жыл бұрын
Ты не поместил colorDialog на форму. 16:50
Все отлично, но у меня почему-то не сохраняется результат, а в целом конструктивно
@BroVaduxa777
Жыл бұрын
бро, скинешь проект?🚀❤️
@irwe3514
Жыл бұрын
@@BroVaduxa777 он утерен.
Может есть у кого код этот? Срочно нужно
Хелп, у меня линия рисует неотрывно, даже если выбирать другой цвет. Что я могла упустить? 🥲
@BroVaduxa777
Жыл бұрын
нужна твоя помощь🙏🏻 скинешь проект?🚀❤️
@user-mx2yu2po1o
Жыл бұрын
Привет ты решил проблему?
@lukaviann
Жыл бұрын
@@BroVaduxa777 какой проект?)
@BroVaduxa777
Жыл бұрын
@@lukaviann этот с пеинтом, уже не нужно, благодарю❤️😌
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