コード例 #1
0
ファイル: FormDeviceData.cs プロジェクト: mrwangming/LWDicer
        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);
        }
コード例 #2
0
ファイル: FormDeviceData.cs プロジェクト: mrwangming/LWDicer
        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();
        }
コード例 #3
0
ファイル: FormDeviceData.cs プロジェクト: mrwangming/LWDicer
        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();
        }
コード例 #4
0
ファイル: FormDeviceData.cs プロジェクト: mrwangming/LWDicer
        public void ClearPicture()
        {
            LabelX.Hide();
            LabelY.Hide();
            PointXY.Hide();

            m_Grapic.Clear(Color.White);

            PicWafer.Refresh();
        }
コード例 #5
0
ファイル: FormDeviceData.cs プロジェクト: mrwangming/LWDicer
        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);
        }