Спасибо за ваше время.Режим содержания моего ImageView перестает работать после того, как я рисую что-то на изображении
Изображение прекрасное, прежде чем я коснусь изображения, а затем изображение будет уплотнено после того, как я коснусь его.
Вот мой код:
Я не использую раскадровки, поэтому я создаю все с кодом, здесь ImageView. И я добавил ограничения с кодом.
let imageEditingView: UIImageView = {
let imageView = UIImageView()
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
return imageView
}()
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if touches.first != nil {
lastPoint = (touches.first?.location(in: imageEditingView))!
}
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
if touches.first != nil {
let currentPoint = touches.first?.location(in: imageEditingView)
drawLines(fromPoint: lastPoint, toPoint: currentPoint!)
lastPoint = currentPoint!
drawLines(fromPoint: lastPoint, toPoint: lastPoint)
}
}
func drawLines(fromPoint: CGPoint, toPoint: CGPoint) {
UIGraphicsBeginImageContext(imageEditingView.frame.size)
imageEditingView.image?.draw(in: CGRect(x: 0, y: 0, width: imageEditingView.frame.width, height: imageEditingView.frame.height))
let context = UIGraphicsGetCurrentContext()
context?.move(to: CGPoint(x: fromPoint.x, y: fromPoint.y))
context?.addLine(to: CGPoint(x: toPoint.x, y: toPoint.y))
context?.setBlendMode(CGBlendMode.normal)
context?.setLineCap(CGLineCap.round)
context?.setLineWidth(CGFloat(Int(120 * lineWidthSliderView.value)))
context?.setStrokeColor(red: red/255, green: green/255, blue: blue/255, alpha: 0.01)
context?.strokePath()
imageEditingView.image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
}
Спасибо вам много! Это решило проблему, но когда я использую UIImageWriteToSavedPhotosAlbum, она сохранила только изображение, оно не сохраняет рисунок на DrawLayer. Как сохранить изображение с помощью DrawLayer на нем? –
Я нашел решение, передав изображение другой переменной и сохранил ее. Еще раз спасибо! –