Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 10
.NET 6

Круглая граница при рисовании

03.05.2022, 13:48. Показов 342. Ответов 1

Студворк — интернет-сервис помощи студентам
В общем, делаю что-то на подобии Paint(картинка 1). В программе есть выбор квадрат и круг. Если выбираю квадрат, то рисую на квадратном холсте квадратной кисточкой. Если выбираю круг, то рисую на круглом холсте, закругленной кисточкой.
Проблема заключается в том, что при сохранении, если я рисовал на круге, оно сохраняет рисунок с выходами за границу (картинка2, картинка3). Как задать круглую границу? Или обрезать по границе при сохранении?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (radioButton1.Checked)
            {
                graphics.Clear(pictureBox2.BackColor);
                pictureBox2.Image = map;
                GraphicsPath path = new GraphicsPath();
                Rectangle pathRect = new Rectangle(0, 0, 1000, 1000);
                path.AddEllipse(pathRect);
                Region rgn = new Region(path);
                pictureBox2.Region = rgn;
                pictureBox2.BackColor = SystemColors.ControlLightLight;
 
                pen.StartCap = LineCap.Round;
                pen.EndCap = LineCap.Round;
                pen.LineJoin = LineJoin.Round;
 
                map = new Bitmap(pathRect.Width, pathRect.Height);
                graphics = Graphics.FromImage(map);
            }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2022, 13:48
Ответы с готовыми решениями:

При рисовании появляются полосы как при наложении
Доброго времени суток, возникла проблемка, при рисовании изображений с помощью Graphics потребовалось использовать, так сказать тайлинг...

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

Не обновляется окно при рисовании объектов
for (int i = 0; i < forma_2.grid.ColumnCount - 1; i++) { g.DrawEllipse(pen, Coordinates.X,...

1
0 / 0 / 0
Регистрация: 09.03.2020
Сообщений: 10
03.05.2022, 13:50  [ТС]
Изображения:
Миниатюры
Круглая граница при рисовании   Круглая граница при рисовании   Круглая граница при рисовании  

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2022, 13:50
Помогаю со студенческими работами здесь

При рисовании конвертировать double в int
нужно dx и dy поменять на double и при рисовании конвертировать double в int подскажите пожалуйста как это зделать using System; ...

Сохранение изменений при рисовании на PictureBox
Доброго времени суток, Проблема в следующем: Пишу графический редактор. Готовые вещи использовать не хочу. Хочу сделать так,...

Проблема с Graphics при рисовании прямоугольника
ребят помогите я не пойму почему не работает, я впринцепе на видео всё записал, в моём паинте как и в ориг есть функции по автоматичесской...

Сглаживание при рисовании через Graphics
Здравствуйте! Рисую через Graphics. Можно как-то включить сглаживание? Добавлено через 2 часа 59 минут И Graphics.DrawString()...

Как забрать мигание при рисовании на панель?
мне нужно очень часто рисовать на панель и в хорошем качестве. я делаю это так, но все равно панель мигает private void...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru