private void PicWafer_MouseMove(object sender, MouseEventArgs e) { float fX = 0, fY = 0; int PicX = 0, PicY = 0; if (e.Button == MouseButtons.Left) { Graphics g = PicWafer.CreateGraphics(); g.DrawLine(Pens.DarkBlue, MousePoint.X, MousePoint.Y, e.X, e.Y); MousePoint.X = e.X; MousePoint.Y = e.Y; g.Dispose(); } if (nWaferSize == SIZE_12INCH) { PicX = 20; PicY = 20; fX = (float)((e.X - PicX) / RATIO_12INCH); fY = (float)((e.Y - PicY) / RATIO_12INCH); } if (nWaferSize == SIZE_8INCH) { PicX = 120; PicY = 120; fX = (float)((e.X - PicX) / RATIO_8INCH); fY = (float)((e.Y - PicY) / RATIO_8INCH); } PointXY.Text = string.Format("X : {0:f4} Y : {1:f4}", fX, fY); }
public void SetDrawLine(double X1, double Y1, double X2, double Y2, float Width, Color LineColor) { Pen m_Pen = new Pen(LineColor, Width); m_Grapic.DrawLine(m_Pen, (float)X1, (float)Y1, (float)X2, (float)Y2); PicWafer.Refresh(); }
public void ClearLayout() { int PicX = 0, PicY = 0; if (nWaferSize == SIZE_12INCH) { // 300 mm PicX = 20; PicY = 20; m_Grapic.DrawEllipse(Pens.White, PicX, PicY, 700, 700); // 왼쪽 상단 코너 m_Grapic.DrawLine(Pens.White, PicX, PicY, PicX + 20, PicY); m_Grapic.DrawLine(Pens.White, PicX, PicY, PicX, PicY + 20); // 왼쪽 하단 코너 m_Grapic.DrawLine(Pens.White, PicX, PicY + 680, PicX, PicY + 700); m_Grapic.DrawLine(Pens.White, PicX, PicY + 700, PicX + 20, PicY + 700); // 오른쪽 상단 코너 m_Grapic.DrawLine(Pens.White, PicX + 680, PicY, PicX + 700, PicY); m_Grapic.DrawLine(Pens.White, PicX + 700, PicY, PicX + 700, PicY + 20); // 오른쪽 하단 코너 m_Grapic.DrawLine(Pens.White, PicX + 680, PicY + 700, PicX + 700, PicY + 700); m_Grapic.DrawLine(Pens.White, PicX + 700, PicY + 700, PicX + 700, PicY + 680); } if (nWaferSize == SIZE_8INCH) { // 200 mm PicX = 120; PicY = 120; m_Grapic.DrawEllipse(Pens.White, PicX, PicY, 500, 500); // 왼쪽 상단 코너 m_Grapic.DrawLine(Pens.White, PicX, PicY, PicX + 20, PicY); m_Grapic.DrawLine(Pens.White, PicX, PicY, PicX, PicY + 20); // 왼쪽 하단 코너 m_Grapic.DrawLine(Pens.White, PicX, PicY + 480, PicX, PicY + 500); m_Grapic.DrawLine(Pens.White, PicX, PicY + 500, PicX + 20, PicY + 500); // 오른쪽 상단 코너 m_Grapic.DrawLine(Pens.White, PicX + 480, PicY, PicX + 500, PicY); m_Grapic.DrawLine(Pens.White, PicX + 500, PicY, PicX + 500, PicY + 20); // 오른쪽 하단 코너 m_Grapic.DrawLine(Pens.White, PicX + 480, PicY + 500, PicX + 500, PicY + 500); m_Grapic.DrawLine(Pens.White, PicX + 500, PicY + 500, PicX + 500, PicY + 480); } PicWafer.Refresh(); }
public void ClearPicture() { LabelX.Hide(); LabelY.Hide(); PointXY.Hide(); m_Grapic.Clear(Color.White); PicWafer.Refresh(); }
public void ImageSave(string strPath) { Bitmap bmp = new Bitmap(PicWafer.Width, PicWafer.Height); PicWafer.DrawToBitmap(bmp, new Rectangle(0, 0, PicWafer.Width, PicWafer.Height)); // 흑백색으로 구성된 단색 Bitmap 형식으로 변환해야함 [Scanner에서 단색 비트맵 인식] // BMP 파일 비트 수준 : 1 // 1. 단색 비트맵을 저장을 위한 Bitmap 생성 Bitmap SaveImage = new Bitmap(PicWafer.Width, PicWafer.Height, PixelFormat.Format1bppIndexed); // 2. 사용자가 입력한 Image Size에 해당하는 복사본을 만들위한 Rectangle 생성 Rectangle rectangle = new Rectangle(0, 0, PicWafer.Width, PicWafer.Height); // 3. 원본 이미지에 단색 Bitmap 속성을 바꾼 복사본을 만든다. SaveImage = bmp.Clone(rectangle, PixelFormat.Format1bppIndexed); SaveImage.Save(strPath); }