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

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

  • автор:

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

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) { } } }

Ластик

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

Внимание! Стирание может привести к отображению рисунка шахматной доски. Этот шаблон используется для обозначения областей изображения, которые являются прозрачными — этот шаблон на самом деле не является частью изображения и не будет отображаться вне среды редактирования Paint.NET.

Ластик Ластик

«Ластик» имеет настраеваемые параметры Ширины и Жесткости кисти на Панели инструментов.

Ширина

Ширина кисти определяет размер круга кончика «Ластика». Обратите внимание, что кончик «Ластика» всегда будет круглым — это невозможно изменить.

Ластик

На примере ниже применено три ширины кисти. В верхней части Ширина кисти составляет 5 пикселей. В средней части Ширина кисти составляет 20 пикселей. В нижней части Ширина кисти составляет 65 пикселей.

Жесткость

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

Ластик

На примере ниже показаны три настройки жесткости. В верхней части Жесткость составляет 10%. Обратите внимание на мягкий край. В средней части Жесткость составляет 50%. В нижней части Жесткость составляет 100%.

Внимание! Жесткость можно считать силой сглаживания, используемой для смягчения краев. По этой причине параметр жесткости игнорируется, если отключено сглаживание.

Установка альфа-канала

«Ластик» наследует значение альфа-канала Основного цвета при использовании левой кнопки мыши и значение альфа-канала Дополнительного цвета при использовании правой кнопки мыши. Это позволяет делать мягкие стирания.

На примере ниже представлены примеры трех настроек альфа-канала:

Ластик

  • В левой части значение альфа-канала установлено на 60. Непрозрачность стираемой области будет 255-60=195 и исходная информация о цвете будет сохранена.
  • В средней части значение альфа-канала установлено на 120. Непрозрачность стираемой области будет 255-120=135. Опять же, исходная информация о цвете будет сохранена.
  • В правой части значение альфа-канала установлено на 255 (максимум). Непрозрачность стираемой области будет 255-255=0. Исходная информация о цвете будет заменена белым (#FFFFFF).

Не получается сделать нормальную кисть и ластик для рисования

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

import sys from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui from PyQt5.QtGui import * from PyQt5 import uic from PyQt5.QtWidgets import QWidget, QApplication from PyQt5 import QtCore, QtWidgets, QtMultimedia import pygame as pg import pygame pygame.init() pg.init() class Text_class: def __init__(self, x, y, text, color1, color2): self.t = 'text' self.x = x self.y = y self.text = text self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color1) painter.setFont(QFont('Helvetica', 48)) painter.drawText(self.x, self.y, self.text) class BrushPoint: def __init__(self, x, y, color1, color2): self.t = 'brush' self.x = x self.y = y self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color1) painter.drawEllipse(self.x - 5, self.y - 5, 9, 9) class Line: def __init__(self, sx, sy, ex, ey, color1, color2): self.t = 'line' self.sx = sx self.sy = sy self.ex = ex self.ey = ey self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) painter.drawLine(self.sx, self.sy, self.ex, self.ey) class Circle: def __init__(self, cx, cy, x, y, color1, color2): self.t = 'circle' self.cx = cx self.cy = cy self.x = x self.y = y self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) radius = int(((self.cx - self.x) ** 2 + (self.cy - self.y) ** 2) ** 0.5) painter.drawEllipse(self.cx - radius, self.cy - radius, radius * 2, radius * 2) class Rectangle: def __init__(self, sx, sy, ex, ey, color1, color2): self.t = 'rect' self.sx = sx self.sy = sy self.ex = ex self.ey = ey self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) painter.drawRect(self.sx, self.sy, self.ex - self.sx, self.ey - self.sy) class RoundedRect: def __init__(self, sx, sy, ex, ey, color1, color2): self.t = 'rounders' self.sx = sx self.sy = sy self.ex = ex self.ey = ey self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) painter.drawRoundedRect(self.sx, self.sy, self.ex - self.sx, self.ey - self.sy, 30.0, 15.0) class Oval: def __init__(self, sx, sy, ex, ey, color1, color2): self.t = 'oval' self.sx = sx self.sy = sy self.ex = ex self.ey = ey self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) painter.drawRoundedRect(self.sx, self.sy, self.ex - self.sx, self.ey - self.sy, 360.0, 360.0) class Arc: def __init__(self, sx, sy, ex, ey, color1, color2): self.t = 'arc' self.sx = sx self.sy = sy self.ex = ex self.ey = ey self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) painter.drawArc(self.sx, self.sy, self.ex - self.sx, (self.ey - self.sy) * 4, 30 * 16, 120 * 16) class Chord: def __init__(self, sx, sy, ex, ey, color1, color2): self.t = 'chord' self.sx = sx self.sy = sy self.ex = ex self.ey = ey self.color1 = color1 self.color2 = color2 def draw(self, painter): painter.setBrush(QBrush(self.color1)) painter.setPen(self.color2) painter.drawChord(self.sx, self.sy, (self.ex - self.sx), int((self.ey - self.sy) * 4), 30 * 16, 120 * 16) class Canvas(QWidget): def __init__(self): super(Canvas, self).__init__() self.objects = [] # это массив где находятся все фигуры чтоб не пропали после рисования self.instrument = 'brush' # по умолчанию кисточка self.color1 = QColor(255, 0, 255) self.color2 = QColor(255, 0, 255) # self.mus = pg.mixer.Sound('mus.mp3') def paintEvent(self, event): # основной процесс отрисовки и отображения painter = QPainter() painter.begin(self) for obj in self.objects: obj.draw(painter) painter.end() def mousePressEvent(self, event): # тут происходит чтение данных с помощью курсора мыши if self.instrument == 'brush': self.objects.append(BrushPoint(event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'line': self.objects.append(Line(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'circle': self.objects.append(Circle(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'rect': self.objects.append(Rectangle(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'rounders': self.objects.append(RoundedRect(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'oval': self.objects.append(Oval(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'arc': self.objects.append(Arc(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'chord': self.objects.append(Chord(event.x(), event.y(), event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'text': self.objects.append(Text_class(event.x(), event.y(), '/', self.color1, self.color2)) self.update() elif self.instrument == 'eraser': x = event.x() y = event.y() for i in self.objects: if i.t == 'circle': radius = int(((i.cx - i.x) ** 2 + (i.cy - i.y) ** 2) ** 0.5) if i.cx - radius * 2 < x and x < i.cx and i.cy - radius * 2 < y and y < i.cy: self.objects.remove(i) self.update() break elif i.t == 'brush' or i.t == 'text': if i.x - 5 < x and x < i.x + 5 and i.y - 5 < y and y < i.y + 5: self.objects.remove(i) self.update() break elif i.sx < x and x < i.ex and i.sy < y and y < i.ey: self.objects.remove(i) self.update() break def mouseMoveEvent(self, event): # тут так же но эта выполняет функции при движении if self.instrument == 'brush': self.objects.append(BrushPoint(event.x(), event.y(), self.color1, self.color2)) self.update() elif self.instrument == 'line': self.objects[-1].ex = event.x() # чтоб продолжить обращаемся к последнему месту нахождения мыши self.objects[-1].ey = event.y() self.update() elif self.instrument == 'circle': self.objects[-1].x = event.x() self.objects[-1].y = event.y() self.update() elif self.instrument == 'rect': self.objects[-1].ex = event.x() self.objects[-1].ey = event.y() self.update() elif self.instrument == 'rounders': self.objects[-1].ex = event.x() self.objects[-1].ey = event.y() self.update() elif self.instrument == 'oval': self.objects[-1].ex = event.x() self.objects[-1].ey = event.y() self.update() elif self.instrument == 'arc': self.objects[-1].ex = event.x() self.objects[-1].ey = event.y() self.update() elif self.instrument == 'chord': self.objects[-1].ex = event.x() self.objects[-1].ey = event.y() self.update() # тут просто меняем инструменты по нажатию кнопок def setEraser(self): self.instrument = 'eraser' def setText(self): self.instrument = 'text' def setBrush(self): self.instrument = 'brush' def setLine(self): self.instrument = 'line' def setCircle(self): self.instrument = 'circle' def setRect(self): self.instrument = 'rect' def setRoundedRect(self): self.instrument = 'rounders' def setOval(self): self.instrument = 'oval' def setArc(self): self.instrument = 'arc' def setChord(self): self.instrument = 'chord' def setColIn(self): self.color1 = QColorDialog.getColor() def setCol2(self): self.color2 = QColorDialog.getColor() # def Music_on(self): # self.mus.play() # def Music_off(self): # self.mus.stop() def setClear(self): self.objects.clear() self.update() class Window(QMainWindow): def __init__(self): super(Window, self).__init__() uic.loadUi('window.ui', self) # подключения дизайна self.setWindowTitle("Graphic designer v3.0") self.canvas = Canvas() self.setCentralWidget(self.canvas) # главный виджет делаем Canvas self.capsLck = False # self.setWindowIcon(QIcon('image.png')) self.action_eraser.triggered.connect(self.centralWidget().setEraser) self.action_text.triggered.connect(self.centralWidget().setText) self.action_brush.triggered.connect(self.centralWidget().setBrush) self.action_line.triggered.connect(self.centralWidget().setLine) self.action_circle.triggered.connect(self.centralWidget().setCircle) self.action_rect.triggered.connect(self.centralWidget().setRect) self.action_rectangle.triggered.connect(self.centralWidget().setRoundedRect) self.action_oval.triggered.connect(self.centralWidget().setOval) self.action_arc.triggered.connect(self.centralWidget().setArc) self.action_chord.triggered.connect(self.centralWidget().setChord) self.action_color_inside.triggered.connect(self.centralWidget().setColIn) self.action__color_outside.triggered.connect(self.centralWidget().setCol2) # self.action_music_on.triggered.connect(self.centralWidget().Music_on) # self.action_music_off.triggered.connect(self.centralWidget().Music_off) self.action_clear.triggered.connect(self.centralWidget().setClear) def keyPressEvent(self, e): if self.canvas.objects[-1].tür == "text": i = e.key() letter = '' if i == 32: letter = ' ' if 1040  
  MainWindow   0 0 800 600   ArrowCursor  false  LibertyPain   ../../Downloads/128725.png../../Downloads/128725.png  background-color: rgb(255, 255, 255);  QTabWidget::Rounded     0 0 1920 20    Инструменты               Толщина рисования       PointingHandCursor  toolBar  background-color: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(0, 0, 0, 255), stop:0.05 rgba(14, 8, 73, 255), stop:0.36 rgba(28, 17, 145, 255), stop:0.6 rgba(126, 14, 81, 255), stop:0.75 rgba(234, 11, 11, 255), stop:0.79 rgba(244, 70, 5, 255), stop:0.86 rgba(255, 136, 0, 255), stop:0.935 rgba(239, 236, 55, 255)); background-color: rgb(85, 255, 255);  RightToolBarArea  false                 PointingHandCursor  toolBar_2  background-color: rgb(85, 255, 255);  LeftToolBarArea  false         ../../Downloads/Без названия.png../../Downloads/Без названия.png  Ластик  Ластик  1  QAction::NoRole    Текст(русский)  <html><head/><body><p><span style=" font-size:10pt; font-weight:600; color:#ffffff;">Текст(русский)</span></p></body></html>   10      ../../Downloads/w256h2561350817736brush.png../../Downloads/w256h2561350817736brush.png  Кисточка    Линия    Круг    Прямоугольник    Красный    Зеленый    Черный    Округленный прямоуг.    Овал    Дуга    Хорда    Цвет заполнения  Цвет заполнения    Цвет обводки  Цвет обводки    Включить музыку  Включить музыку   10     Выключить музыку   10     Очистить все   MS Shell Dlg 2 10 50 false false false false true       

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

from PyQt5 import QtCore, QtGui, QtWidgets class Window(QtWidgets.QMainWindow): def __init__(self): super().__init__() top, left, width, height = 0, 0, 1920, 1080 self.setWindowTitle("MyPainter") self.setGeometry(top, left, width, height) self.image = QtGui.QImage(self.size(), QtGui.QImage.Format_ARGB32) self.image.fill(QtCore.Qt.white) self.imageDraw = QtGui.QImage(self.size(), QtGui.QImage.Format_ARGB32) self.imageDraw.fill(QtCore.Qt.transparent) self.drawing = False self.brushSize = 2 self._clear_size = 10 self.brushColor = QtGui.QColor(QtCore.Qt.self.black) self.lastPoint = QtCore.QPoint() self.change = False mainMenu = self.menuBar() changeColour = mainMenu.addMenu("changeColour") changeColourAction = QtWidgets.QAction("change", self) changeColour.addAction(changeColourAction) changeColourAction.triggered.connect(self.changeColour) def mousePressEvent(self, event): if event.button() == QtCore.Qt.LeftButton: self.drawing = True self.lastPoint = event.pos() def mouseMoveEvent(self, event): if event.buttons() and QtCore.Qt.LeftButton and self.drawing: painter = QtGui.QPainter(self.imageDraw) painter.setPen(QtGui.QPen(self.brushColor, self.brushSize, QtCore.Qt.SolidLine, QtCore.Qt.RoundCap, QtCore.Qt.RoundJoin)) if self.change: r = QtCore.QRect(QtCore.QPoint(), self._clear_size * QtCore.QSize()) r.moveCenter(event.pos()) painter.save() painter.setCompositionMode(QtGui.QPainter.CompositionMode_Clear) painter.eraseRect(r) painter.restore() else: painter.drawLine(self.lastPoint, event.pos()) painter.end() self.lastPoint = event.pos() self.update() def mouseReleaseEvent(self, event): if event.button == QtCore.Qt.LeftButton: self.drawing = False def paintEvent(self, event): canvasPainter = QtGui.QPainter(self) canvasPainter.drawImage(self.rect(), self.image, self.image.rect()) canvasPainter.drawImage(self.rect(), self.imageDraw, self.imageDraw.rect()) def changeColour(self): self.change = not self.change if self.change: pixmap = QtGui.QPixmap(QtCore.QSize(1, 1)*self._clear_size) pixmap.fill(QtCore.Qt.transparent) painter = QtGui.QPainter(pixmap) painter.setPen(QtGui.QPen(QtCore.Qt.black, 2)) painter.drawRect(pixmap.rect()) painter.end() cursor = QtGui.QCursor(pixmap) QtWidgets.QApplication.setOverrideCursor(cursor) else: QtWidgets.QApplication.restoreOverrideCursor() if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec()) 

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

Для использования ibisPaint, Вам нужно иметь аккаунт ibisAccount, Twitter, Facebook или Apple. Войдите после создания аккаунта.

  • Войти с помощью ibisAccount
  • Войти через Twitter
  • Войти через Facebook
  • Войти с помощью Apple

Соглашение

На этом сайте надлежащим образом относятся к вашей личной информации, как описано в нашей политике конфиденциальности. Здесь наша политика конфиденциальности.

Согласиться и начать работу
Эта страница еще не переведена. Следующий текст создан с помощью автоматического перевода.

Учебники

08. Отмена и Ластик

При рисовании линий, являются двумя наиболее часто используемые команды①Отменить и②Повторить. Когда вы создаете новый холст,①Отменить и②Повторить кнопки являются оба серым, но как вы начнете рисовать эти команды станут доступны. В отличие от рисования на бумаге, вы можете удалить строки, вы уже нарисовали с одним краном, если вам не нравится, и не грязные следы, как есть с резинкой. Если вы не привыкли с помощью приложения это может быть трудно нарисовать линии это в вашей голове, но это же для каждого. Постепенно практика и вы сможете рисовать то, что находится в вашей голове. Держите на него и сделать использование отмены, чтобы получить это право.
После рисования десять линий, вы можете выстучать кнопку Отменить в десять раз для возврата в исходное состояние. Если вы выстукиваете слишком много раз случайно используйте кнопку повтора для перемещения один шаг вперед в то время на ваш предпочтительный государства. Отменить также может использоваться для изменения порядка слоев, непрозрачность слоя, слои расчистки, удаления слоев, создание и очистки выбор. Если вы сделаете ошибку и ясно слой не стресс - Используйте Undo перейти обратно на шаг.

С помощью команды отменить после рисования в порядке, но когда вы хотите создать чистый стыки между линиями вы должны попробовать Ластик.
Выбрать②Ластик от①Окно выбора инструмента.

Далее, откройте①Окно свойств Ластик.

Окно настройки ластика почти такое же, как окно настройки кисти. Шаблоны кисти одинаковы. При использовании ластика наиболее часто используются: Dip Pen (мягкий) и Dip Pen (Hard). На этот раз давайте выберем①Dip Pen (жесткий),②16px (пиксели).

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

При выполнении Рисование линии, он является общим для держать перо Dip и Ластик в то же время. Вы можете использовать①Кисть/Ластик выключатель для переключения между инструмент кисть и Ластик с одним краном.
Рисование путем отслеживания хорошее обучение. Сначала ваши линии не могут идти, где вы собираетесь их. Люди часто говорят, что их пальцы слишком большой или что они не могут увидеть где они привлекают, но большинство людей, которые вывешивают изображенияibisPaintиспользуют их пальцами. Если вы практикуете, вы определенно улучшит.

  • ≪Prev.
  • 09. Тонкой настройки с помощью инструмента «Лассо» ≫

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

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