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

preview_player
Показать описание
Привет! В сегодняшнем уроке мы сделаем подобие всем известного Paint!)

Если данное видео тебе было полезно, не забудь подписаться, для тебя это ничего не стоит, а мне приятно :))

P.s Видео в 4к будет доступно через 5-7 часов
---
Track: Sleepy Jake
Music created by Silent Partner

Track: Heartland
Music created by Silent Partner

Track: Hit My Soul
Music created by Silent Partner

Track: Log Cabin
Music created by Silent Partner

Track: Harvest Time
Music created by Silent Partner

Track: Country Instrumental Music
Music created by Mixroba Studio

Track: Ukulele and Harmonica Indie Music Background
Music created by Mixroba Studio

Track: Milky Way Stars [NCS Release]
Music created by Janji feat. TR

Track: Daisy Dukes
Music created by Silent Partner

Track: Life of Riley
Music created by Kevin MacLeod
Рекомендации по теме
Комментарии
Автор

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

channeloftwogentlemen
Автор

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

ЧингисОмаров
Автор

Пэйнт работает отлично и делает с прозрачным фоном. Спасибо автору

miachik_dla_kotikov_belarus
Автор

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

frogwarg
Автор

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

deniswdwd
Автор

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

Lovely_Ferret
Автор

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

костябельков
Автор

Спасибо автору без воды и все работает отлично

aysuto
Автор

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

clarkecooper
Автор

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

addonsb
Автор

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

Автор

Тоже самое, только без Классов, проще некуда:
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;
}
}

user_TAJcGbJA
Автор

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

ДанилТемежников
Автор

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

ВалерийВаланчус
Автор

I ❤paint(all rights reserved)(trademark)

МойТ-юр
Автор

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

АйшаГалымова
Автор

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

bogelmanDDD
Автор

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

leinadalien
Автор

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

antonsimkin
Автор

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

РусланБукатов-ьы