Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/401: Рейтинг темы: голосов - 401, средняя оценка - 4.55
6 / 6 / 2
Регистрация: 13.04.2009
Сообщений: 14

Рисование в PictureBox и сохранение рисунка

30.04.2009, 14:10. Показов 78768. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создается простой графический редактор на C#.

Проблема следующая: в PictureBox загружается рисунок из файла. Пользователь рисует в PictureBox поверх рисунка различные кривые (что-вроде "кисти" или "карандаша"). При попытке сохранить измененный рисунок сохраняется исходный, который был загружен.

Как я понимаю, проблема в том, что я рисую на самом компоненте PictureBox, а не на Image. Отсюда вопрос - как изменять Image компонента PictureBox или как сохранить то, что нарисовано прямо на компоненте?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2009, 14:10
Ответы с готовыми решениями:

Рисование в Panel - Сохранение рисунка
Как реализовать сохранение нарисованного в Panel. Вроде сделал простенькую рисовалку (которая рисует эллипсами) с 3 функциями (менять...

Сохранение рисунка из picturebox в файл
Добрый день, имеется picturebox (230x230), на нем нарисован polygon (см. вложение) как сохранить этот полигон в битмап (не все...

Сохранение рисунка в БД и извлечение в PictureBox
Мне нужно делать принт скрин записывать его в базу, и потом извлекать на форму PictureBox. Я все это сделал следующим образом: делаю...

22
24 / 24 / 9
Регистрация: 18.12.2012
Сообщений: 194
27.02.2019, 12:00
Студворк — интернет-сервис помощи студентам
Ну Я бы сделал следующим образом:

1) при первом нажатии на кнопку мыши взводим флаг информирующий нас о том, что рисование началось и запоминаем изначальные х, у.
2) на движение каждое движение мыши делаем перерисовку фигуры от стартовых х,у к конечным х,у.(нужно запоминать все точки, которые были нанесены на рисунок)
3) Если отпускаем клавишу мыши, опускаем флаг рисования, а последняя нарисованная фигура больше не перерисовывается, а остается на холсте.
0
384 / 184 / 107
Регистрация: 07.01.2016
Сообщений: 496
27.02.2019, 12:02
merlo, нужно прикрутить отображение текущей рисуемой фигуры поверх битмапа, простейший пример для линии:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        /// <summary>
        /// Отобразить текущее состояние редактора
        /// </summary>
        public void Render()
        {
            // отобразить растр
            buf.Graphics.DrawImage(canvasBitmap, 0, 0);
            // отобразить буфер
            if (IsMouseDown)
            {
                buf.Graphics.DrawLine(penBuffer, MouseDownPoint, CurrentMousePosition);
            }
            buf.Render();
        }
Вложения
Тип файла: 7z ImageEditor.7z (17.3 Кб, 3 просмотров)
1
3 / 3 / 0
Регистрация: 29.07.2017
Сообщений: 33
27.02.2019, 13:11
alexus5, понятно, позже попробую, ну, а пока что я сделал говнокод))) Фигуры рисуются в методе Paint у pictureBox. Когда я опускаю мышь, рисунок с pictureBox сохраняется в bmp, а потом с bmp рисунок присваивается к pictureBox.Image. Сделал костыль, короче)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2019, 13:11
Помогаю со студенческими работами здесь

Рисование в боаузере и сохранение на сервере рисунка
Как сделать похожий сервис? http://printio.ru/tees/new Где можно почитать про эти технологии?

Рисование на picturebox и сохранение в файл
Добрый день, visual basic 2008 задача: рисовать но нажатию клавиши мышки, и иметь возможность сохранить это все в файл (jpg/bmp). ...

Сохранение Рисунка из Word в отдельный файл Рисунка
Ситуация следующая. В документе Word есть рисунок, его надо преобразовать в файл Рисунок с сохранением всего качества. Как это сделать?...

Сохранения рисунка из PictureBox
Подскажите пожалуста как с помощью SaveFileDialog обеспечить сохранения рисунка который на пикчербоксе(в форматах бмп или джипег на выбор)

Перерисовка рисунка в PictureBox
1)Подскажите как в событии Пеинт вызвать перерисовку имеджа пикчербокса;


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru