Как сделать ластик в c
Перейти к содержимому

Как сделать ластик в c

  • автор:

Как сделать ластик в c

Части объектов можно обрезать или стереть.

Функция обрезки позволяет быстро удалить ненужные области в объектах и импортированных фотографиях, устранить потребность в отмене группировки объектов, разделить связанные группы или преобразовать объекты в кривые. Можно обрезать векторные объекты и растровые изображения.

При обрезке объектов выделяется прямоугольная область (область обрезки), которую вы хотите сохранить. Части объекта за пределами области обрезки удаляются. Можно указать точное положение и размер области обрезки, кроме того, ее можно поворачивать и изменять ее размер. Можно также удалить область обрезки.

Можно обрезать только выбранные объекты без изменения других объектов на рисунке или обрезать все объекты на странице рисования. В любом случае выбранный текст и объекты фигур автоматически преобразовываются в кривые.

В CorelDRAW можно удалять ненужные части растровых изображений и векторных объектов. Ластик функционирует в точности как стирательная резинка, позволяя удалить любую часть изображения, по которому щелкают и перетаскивают курсор. Чтобы стереть только часть определенного объекта, необходимо выбрать его. Если объект не выбран, инструмент Ластик удаляет любую часть рисунка, поверх которого им проводится. Для получения сведений о выборе объектов см. раздел Выделение объектов. При удалении автоматически замыкаются все выбранные пути, а объекты преобразуются в кривые. При удалении соединительных линий CorelDRAW создает подпути, а не отдельные объекты. Невозможно стереть объекты с контурами, перетеканиями, тенями, блок-тенями или вытягиваниями.

Работая с пером или стилусом, можно использовать нажим для изменения кончика ластика. Если перо или стилус поддерживает использование наклона и направления, можно использовать эти функции для изменения спрямления и поворота кончика ластика. Кроме того, можно задать значения для углов наклона и направления, таким образом, что спрямление и поворот останутся без изменений.

Можно использовать стилус для изменения размера и спрямления кончика ластика.

Кроме того, можно задать настройки по умолчанию для инструмента «Ластик», например стандартный размер кончика ластика. В объектах, созданных в результате стирания, автоматически удаляются узлы, но эту функцию можно отключить.

Кроме того, можно удалять виртуальные линейные сегменты, то есть части пересекающихся объектов. Например, можно удалить петлю в линии, которая пересекает сама себя, или петли в линейных сегментах, в которых пересекаются два или несколько объектов.

Удаление виртуальных линейных сегментов

Обрезка объекта или фотографии импорта

1 Выберите объект или фотографию, которую требуется обрезать.

Выберите один или несколько объектов. Если объекты на странице рисования не будут выбраны, то будут обрезаны все объекты на ней.

Как сделать ластик в графическом редакторе

Author24 — интернет-сервис помощи студентам

Доброго..
Подскажите, пожалуйста, как же сделать инструмент «ластик» в графическом редакторе..
Могу скинуть исходник, если оно поможет чем-нибудь.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Реализовать ластик в графическом редакторе
Как сделать ластик(стирачку) потипу как в пейнте(водиш мышкой и оно стирает всё на что попало)

Добавить треугольник и многоугольник и сделать выбор штриховки в графическом редакторе
Как добавить сюда же треугольник и многоугольник(например 6 углов)? И сделать отдельно чтобы можно.

Как организовать отмену действий в графическом редакторе
Подскажите, пожалуйста, как можно организовать отмену действий в графическом редакторе? Я.

Нужно сделать лекала автомобильных ковриков в графическом редакторе
В общем друзья ситуация такая: я занимаюсь пошивом ворсовых автомобильных ковриков. Снимаю лекала с.

Эксперт .NET

17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

ЦитатаСообщение от razervip Посмотреть сообщение

ЦитатаСообщение от razervip Посмотреть сообщение

как же сделать инструмент «ластик» в графическом редакторе
Да точно так же, как инструмент «кисть», только цвет либо прозрачный, либо цвет фона.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Ноутбук до 26.000 р. для работы в графическом редакторе или видео-редакторе
Так же для работы в Cubase. Я понимаю, что для работы с графикой, рендеренгом видео, необходима.

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

Как реализовать выбор цвета в простом графическом редакторе
Ребят помогите, я написал с учебника программу , и теперь меня интересует как сделать чтоб на форме.

Как создать вкладки как в графическом редакторе?
Всем привет 🙂 У меня на форме есть TabControl без вкладок, я создаю на нём программно вкладки.

Или воспользуйтесь поиском по форуму:

Реализовать ластик в графическом редакторе

Author24 — интернет-сервис помощи студентам

Как сделать ластик в графическом редакторе
Доброго.. 🙂 Подскажите, пожалуйста, как же сделать инструмент "ластик" в графическом редакторе.

Графический редактор — реализовать масштаб и ластик
Кто подскажет как реализовать такие функции в графическом редакторе как: стирачка, увеличение.

геометрические фигуры в простом графическом редакторе
Здравствуйте. Пробую сделать простой графический редактор на C#. Не могу найти решение, по.

Алгоритм для заливки в графическом редакторе
Взялся за графический редактор и дошел до заливки. Совершенно не имею представления, как ее.

389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
bool temp = false; private void Form1_MouseDown(object sender, MouseEventArgs e) { temp = true; } private void Form1_MouseMove(object sender, MouseEventArgs e) { if (temp == true) { Graphics g = Graphics.FromHwnd(this.Handle); int size_of_lastic = 10; g.FillEllipse(new SolidBrush(this.BackColor), e.X - size_of_lastic / 2, e.Y - size_of_lastic / 2, size_of_lastic, size_of_lastic); } } private void Form1_MouseUp(object sender, MouseEventArgs e) { temp = false; }

Регистрация: 12.03.2011
Сообщений: 145

если зарисовывать кругом, то потом когда я по новой буду рисовать, не залитые фигуры, в местах етих кругов будут незарисовуемые пятна.

389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802

вот лично я ничего не понял Скрин в студию, ну или на словах как то попонятней объясни, что бы даже самый тупой понял. было бы супер

Регистрация: 12.03.2011
Сообщений: 145
а не извините то мой затуп был, забыл переменую на фолс поставить, спс за помощь!-)
Регистрация: 25.02.2014
Сообщений: 120

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
//нажатие л.к. мыши(запоминает начальные координаты прямоугольная область) private void pictureBox1_MouseDown_1(object sender, MouseEventArgs e) { if (pictureBox1.Cursor == Cursors.Cross) { DrawRectangle = true; DrawRectangle_Mouse_X_Start = e.Location.X; DrawRectangle_Mouse_Y_Start = e.Location.Y; DrawRectangle_Mouse_X_End = e.Location.X + 1; DrawRectangle_Mouse_Y_End = e.Location.Y + 1; } if (pictureBox1.Cursor == Cursors.Hand) { m_PanStartPoint = new Point(e.X, e.Y); } } //Сдвиг мыши(+ конечные координаты) private void pictureBox1_MouseMove_1(object sender, MouseEventArgs e) { if (pictureBox1.Cursor == Cursors.Cross && e.Button == MouseButtons.Left) { DrawRectangle_Mouse_X_End = e.Location.X; DrawRectangle_Mouse_Y_End = e.Location.Y; pictureBox1.Refresh(); } if (pictureBox1.Cursor == Cursors.Hand && e.Button == MouseButtons.Left) { int DeltaX; int DeltaY; DeltaX = (m_PanStartPoint.X - e.X); DeltaY = (m_PanStartPoint.Y - e.Y); tabPage1.AutoScrollPosition = new System.Drawing.Point((DeltaX - tabPage1.AutoScrollPosition.X), (DeltaY - tabPage1.AutoScrollPosition.Y)); } } рисуем выделенный прямоугольник private void pictureBox1_Paint_1(object sender, PaintEventArgs e) { if (DrawRectangle) { int MouseX; int MouseY; MouseX = DrawRectangle_Mouse_X_End - DrawRectangle_Mouse_X_Start; MouseY = DrawRectangle_Mouse_Y_End - DrawRectangle_Mouse_Y_Start; //Up and Left if (MouseX  0 && MouseY  0) { rect = new Rectangle((new Point(DrawRectangle_Mouse_X_End, DrawRectangle_Mouse_Y_End)), new Size(System.Math.Abs(MouseX), System.Math.Abs(MouseY))); } //Down and Right if (MouseX > 0 && MouseY > 0) { rect = new Rectangle((new Point(DrawRectangle_Mouse_X_Start, DrawRectangle_Mouse_Y_Start)), new Size((MouseX), (MouseY))); } //Up and Right if (MouseX  0 && MouseY > 0) { rect = new Rectangle((new Point(DrawRectangle_Mouse_X_End, DrawRectangle_Mouse_Y_Start)), new Size(System.Math.Abs(MouseX), MouseY)); } //Down and Left if (MouseX > 0 && MouseY  0) { rect = new Rectangle((new Point(DrawRectangle_Mouse_X_Start, DrawRectangle_Mouse_Y_End)), new Size(MouseX, System.Math.Abs(MouseY))); } try { e.Graphics.DrawRectangle(Pens.Black , rect); } catch (Exception) { } } }

Как сделать ластик в c

Рисунок 13.66. Инструмент « Ластик » на панели инструментов

Инструмент «Ластик» на панели инструментов

Ластик используется для удаления областей цвета из активного слоя или выделения в этом слое. Если ластик применяется к объекту, не поддерживающему прозрачность (маска выделения, маска слоя или слой фона без канала альфа), то удаление проявит цвет фона с панели инструментов. В случае с маской, выделение изменится. Удаление может быть полным или частичным, в зависимости от параметров инструмента. За тем, как добавить канал альфа к слою, обратитесь сюда .

Рисунок 13.67. Ластик и альфа-канал

Ластик и альфа-канал

Фоновый цвет — белый. У изображения нет альфа-канала. Ластик (непрозрачность равна 100%) оставляет после себя фоновый цвет.

Ластик и альфа-канал

У изображения есть альфа-канал. Ластик оставляет после себя прозрачность.

Если необходимо полностью удалить группу точек растра, не оставляя следов от их предыдущего содержания, выберите параметр « жёсткий край » . В противном случае субпиксельное размещение кисти приведёт к частичному удалению точек по краям штриха, даже при использовании кисти без растушёвки.

Если вы используете GIMP с графическим планшетом, вам наверняка понравится использовать обратный конец стилуса как ластик. Для этого нужно щелкнуть обратным концом стилуса по инструменту Ластик на панели инструментов. Поскольку каждый конец стилуса рассматривается как отдельное устройство ввода, каждое устройство запоминает свой инструмент. Обратным концом стилуса можно пользоваться как ластиком до тех пор, пока не связать он не будет привязан к другому инструменту.

3.7.1. Активация инструмента

Инструмент можно вызвать несколькими способами:

  • Из меню изображения Инструменты → Инструменты рисования → Ластик ,
  • щелчком по значку инструмента на панели инструментов,
  • либо с помощью комбинации клавиш Shift + E .
3.7.2. Клавиши-модификаторы

See the Раздел 3.1, «Общие свойства» for a description of key modifiers that have the same effect on all paint tools.

Ctrl

Переключает Ластик в режим выбора цвета. В отличие от других инструментов кисти, Ластик устанавливает цвет фона на выбранный цвет, а не цвет переднего плана. Это полезно для объектов, не имеющих альфа-канала. В таких случаях ластик зарисовывает объект цветом фона.

Alt

Переключает Ластик к режим антиластика, описанный ниже. На некоторых системах эта клавиша перехватывается оконным менеджером. В таких случаях используйте комбинацию клавиш Alt + Shift .

3.7.3. Параметры инструмента

Рисунок 13.68. Параметры инструмента « Ластик »

Параметры инструмента «Ластик»

Обычно параметры инструмента отображаются в панели, присоединенной к панели инструментов, как только вы активируете его. Если их там нет, вы можете перейти к этой панели, выбрав в меню пункт Окна → Панели → Параметры инструмента .

Кисть; Масштаб; Динамика кисти; Фиксированная длина штриха; Дрожание; Дополняющий Обратитесь к обзору рисующих инструментов за описанием параметров, общих для всех инструментов рисования. Непрозрачность

Параметр Непрозрачность определяет силу действия инструмента. Когда вы стираете части слоя с альфа-каналом, чем выше значение непрозрачности, тем прозрачнее результат.

При использовании этого параметра растушёванная кисть перестает таковой. См. выше.

Антиластик выполняет восстановление стертых областей слоя, даже если они прозрачны. Эта функция работает только со слоями, содержащими альфа-канал. Его также можно активировать на лету, нажав клавишу Alt (или, если Alt перехватывается менеджером окон, комбинацию Alt + Shift ).

Чтобы понять, как работает антиластик, нужно помнить, что стирание (или вырезание в буфер обмена) затрагивает только альфа-канал, а не все каналы изображения RGB. Даже если результат полностью прозрачен, данные RGB сохранены, но невидимы. Антиластик просто увеличивает значение альфа и таким образом выявляет данные RGB.

Вы можете использовать Ластик для изменения формы плавающего выделения: стиранием вы можете убирать его края.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *