2016-12-09 7 views
0

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

Я использую swift3 в Xcode 8.1.

Я могу извлечь PNG изображения, но то, что я хотел бы сделать, это просто отправить координаты, чтобы воссоздать изображение на экране других игроков.

Я разместил код для функции рисования пользователя. Я попытался нажать «контекст»? 'в массив после' addLine ', но ничего не было похоже на координаты.

func drawPicture(fromPoint:CGPoint, toPoint:CGPoint) { 
    UIGraphicsBeginImageContextWithOptions(self.drawPage.bounds.size,  false, 0.0) 
    drawPage.image?.draw(in: CGRect(x: 0, y:0, width:self.drawPage.bounds.width, height:self.drawPage.bounds.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.color) 
    context?.setLineCap(CGLineCap.round) 
    context?.setLineWidth(5) 
    context?.setStrokeColor(UIColor(red: 0.26, green: 0.53, blue: 0.96, alpha: 1.0).cgColor) 

    context?.strokePath() 

    drawPage.image = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    } 

Спасибо за любые идеи у вас есть :)

ответ

0

Я хотел бы предложить добавить массив, в котором вы бы добавить координаты в то время как вы рисуете, а затем просто отправить содержимое этого массива, где вам нужно. . что-то вроде этого:

struct DrawingCoordinate { 
     var from: CGPoint 
     var to: CGPoint 
     init(from: CGPoint, to: CGPoint) { 
      self.from = from 
      self.to = to 
     } 
    } 
    var coordinatesArray = [DrawingCoordinate]() 

    func drawPicture(fromPoint:CGPoint, toPoint:CGPoint) { 
     UIGraphicsBeginImageContextWithOptions(self.drawPage.bounds.size,  false, 0.0) 
     drawPage.image?.draw(in: CGRect(x: 0, y:0, width:self.drawPage.bounds.width, height:self.drawPage.bounds.height)) 
     let context = UIGraphicsGetCurrentContext() 

     context?.move(to: CGPoint(x: fromPoint.x, y: fromPoint.y)) 
     context?.addLine(to: CGPoint(x: toPoint.x, y: toPoint.y)) 

     // add this line to your array 
     coordinatesArray.append(DrawingCoordinate(from: fromPoint, to: toPoint)) 

     context?.setBlendMode(CGBlendMode.color) 
     context?.setLineCap(CGLineCap.round) 
     context?.setLineWidth(5) 
     context?.setStrokeColor(UIColor(red: 0.26, green: 0.53, blue: 0.96, alpha: 1.0).cgColor) 

     context?.strokePath() 

     drawPage.image = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
    } 

Это имеет смысл для вас?

+0

Спасибо! Это именно то, что я хотел! – Elizabeth

Смежные вопросы