Как сохранить количество строк внутри HatchBrush, несмотря на масштабирование Drawing2D.graphic?
Я хочу сделать редактор изображений. Изначально изображение будет уменьшено до размера экрана. Я пытаюсь создать прямоугольник и заполнить его цветом с помощью HatchBrush (Горизонтальная линия). В это время черный прямоугольник имеет две линии внутри.
Но если я нажму кнопку увеличения, прямоугольник автоматически увеличит количество строк. Теперь прямоугольник имеет три внутри.
Private Sub pnlDrawArea_Paint(sender As Object, e As PaintEventArgs) Handles pnlDrawArea.Paint
Dim mx As Matrix = New Matrix()
mx.Scale(zoom, zoom, MatrixOrder.Append)
e.Graphics.Transform = mx
Draw(e.Graphics)
End Sub
Нарисовать прямоугольник
Public Sub Draw(ByVal g As Graphics)
g.DrawImage(img, New Point(0, 0))
Dim hb As New Drawing2D.HatchBrush(Drawing2D.HatchStyle.Horizontal, Color.Red)
Dim rect As New Rectangle(ptStart.X, ptStart.Y, ptEnd.X - ptStart.X, ptEnd.Y - ptStart.Y)
g.FillRectangle(hb, rect)
End Sub
Увеличить/ Уменьшить
Private Sub btnZoomIn_Click(sender As Object, e As EventArgs) Handles btnZoomIn.Click
zoom += 0.01
Me.pnlDrawArea.Invalidate()
End Sub
Private Sub btnZoomOut_Click(sender As Object, e As EventArgs) Handles btnZoomOut.Click
zoom -= 0.01
Me.pnlDrawArea.Invalidate()
End Sub
Как сохранить количество строк внутри HatchBrush?