private void pBox_MouseMove(object sender, MouseEventArgs e)
{
// 픽처박스 안에 마우스가 위치하지 않았으면 메서드를 종료
if (!pBox.Capture)
return;
// 마우스의 이동횟수가 1000회를 넘지 않았으면
if (movesLen < 1000)
{
// 마우스의 이동 횟수를 증가
movesLen++;
// 현재 마우스의 좌표를 현재 좌표로 설정
Point curPoint = new Point(e.X, e.Y);
// 픽처박스 객체를 통해 그래프 객체 생성
Graphics g = pBox.CreateGraphics();
// 현재 이미지의 객체를 인수로 하여 텍스처브러쉬
Brush textureBrush = new TextureBrush(curImage);
// 텍스처브러쉬 객체를 인수로 하여 굵기가 30인 Pen 객체를 생성
Pen pen = new Pen(textureBrush, 30);
// 펜의 시작부분과 끝부분을 라운드 처리
pen.StartCap = LineCap.Round;
pen.EndCap = LineCap.Round;
// 펜을 통해 이전 좌표에서 현재 좌표로 라인을 그림
g.DrawLine(pen, prePoint, curPoint);
// 이전 좌표값을 현재 좌표값으로 설정
prePoint = curPoint;
// 스크래치 진행률을 마우스의 이동횟수
label1.Text = movesLen.ToString();
//프로그래스바의 값을 마우스의 이동횟수로 셋팅
pr1.Value = movesLen;
}
else
{
// 마우스의 이동횟수가 1000이상이면 전체 이미지를 보여줌
pBox.Image = curImage;
}
}