2013-06-07 3 views
0

나는 일종의 그리기 앱이 있습니다. 선은 터치 입력에 그려집니다.터치 입력을 사용하여 줄 지우기 Windows Phone 8

 void Touch_FrameReported(object sender, TouchFrameEventArgs e) 
     { 
     int pointsNumber = e.GetTouchPoints(InkCanvas2).Count; 
     TouchPointCollection pointCollection = e.GetTouchPoints(InkCanvas2); 

     for (int i = 0; i < pointsNumber; i++) 
     { 
      if (pointCollection[i].Action == TouchAction.Down) 
      { 
       preXArray[i] = pointCollection[i].Position.X; 
       preYArray[i] = pointCollection[i].Position.Y; 
      } 
      if (pointCollection[i].Action == TouchAction.Move) 
      { 
       Line line = new Line(); 


       line.X1 = preXArray[i]; 
       line.Y1 = preYArray[i]; 
       line.X2 = pointCollection[i].Position.X; 
       line.Y2 = pointCollection[i].Position.Y; 

       line.Stroke = StrokeColorBrush; 
       line.Fill = StrokeColorBrush; 
       line.StrokeThickness = StrokeWidth; 
       line.StrokeDashCap = PenLineCap.Round; 
       line.StrokeStartLineCap = PenLineCap.Round; 
       line.StrokeEndLineCap = PenLineCap.Round; 

       InkCanvas2.Children.Add(line); 

       preXArray[i] = pointCollection[i].Position.X; 
       preYArray[i] = pointCollection[i].Position.Y; 

       Brush aSolidBrush = new SolidColorBrush(Colors.Black); 

      } 
     } 

마우스 이벤트

void InkCanvas2_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
    { 
     currentPoint = e.GetPosition(InkCanvas2); 
     oldPoint = currentPoint; 
    } 


    void InkCanvas2_MouseMove(object sender, MouseEventArgs e) 
    { 
     currentPoint = e.GetPosition(this.InkCanvas2); 

     Line line = new Line() { X1 = currentPoint.X, Y1 = currentPoint.Y, X2 = oldPoint.X, Y2 = oldPoint.Y }; 
     line.Stroke = StrokeColorBrush; 
     line.StrokeThickness = StrokeWidth; 

     line.StrokeStartLineCap = PenLineCap.Round; 
     line.StrokeEndLineCap = PenLineCap.Round; 
     line.StrokeLineJoin = PenLineJoin.Round; 

     this.InkCanvas2.Children.Add(line); 
     oldPoint = currentPoint; 
    } 

나는 모든

InkCanvas2.Children.Clear(); 

지금 임 그럼 내가이 라인을 통해 그리기, 지우개 기능을 구현하기 위해 노력하고, 그것은 그 부분을 삭제한다에 의해 명확했던 . 트릭을하지 않는 투명하게 색을 바꿔 보았습니다. 어떤 제안?

답변

0

당신은 같은 것을 할 수 있습니다

inkCanvas2.EditingMode = InkCanvasEditingMode.EraseByPoint; 
+0

InkCanvas2는 캔버스 요소입니다. 거기에 editingmode 속성이 없습니다. Windows Phone에 있습니까? – alfah

+0

이 속성은 Canvas 클래스가 아니라 InkCanvas에서 사용할 수 있습니다. Windows Phone에 InkCanvas가없는 것 같습니다. – Manish