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();
지금 임 그럼 내가이 라인을 통해 그리기, 지우개 기능을 구현하기 위해 노력하고, 그것은 그 부분을 삭제한다에 의해 명확했던 . 트릭을하지 않는 투명하게 색을 바꿔 보았습니다. 어떤 제안?
InkCanvas2는 캔버스 요소입니다. 거기에 editingmode 속성이 없습니다. Windows Phone에 있습니까? – alfah
이 속성은 Canvas 클래스가 아니라 InkCanvas에서 사용할 수 있습니다. Windows Phone에 InkCanvas가없는 것 같습니다. – Manish