예제 #1
0
        public static OffsetImage LoadImage(
            string fullFileName
            , int startx, int starty
            , int width, int height
            )
        {
            float scale = 1;
            Image raw   = new Bitmap(fullFileName);

            if (width == 0)
            {
                width = raw.Width;
            }
            if (height == 0)
            {
                height = raw.Height;
            }
            int    rltwidth  = Convert.ToInt32(Math.Ceiling(width * scale));
            int    rltheight = Convert.ToInt32(Math.Ceiling(height * scale));
            Bitmap rlt       = new Bitmap(rltwidth, rltheight);

            Graphics g  = Graphics.FromImage(rlt);
            PointF   ul = new PointF(0, 0);
            PointF   ur = new PointF(rltwidth, 0);
            PointF   ll = new PointF(0, rltheight);

            PointF[]  imgscale = new PointF[] { ul, ur, ll };
            Rectangle portion  = new Rectangle(startx, starty, width, height);

            g.DrawImage(raw, imgscale, portion, GraphicsUnit.Pixel);
            g.Dispose();
            OffsetImage oi = OffsetImage.New(rlt);

            return(oi);
        }
예제 #2
0
파일: RenderForm.cs 프로젝트: mind0n/hive
        public RenderForm()
        {
            int num = Math.Max(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);

            BufferSize  = new Size(num, num);
            Portion     = new Rectangle(0, 0, Width, Height);
            BufferImage = OffsetImage.New(new Bitmap(BufferSize.Width, BufferSize.Height));
            UpdatePortion(00, 00, Width, Height);
            Load   += new EventHandler(MainForm_Load);
            Paint  += new PaintEventHandler(MainForm_Paint);
            Resize += new EventHandler(MainForm_Resize);

            KeyDown          += new KeyEventHandler(RenderForm_KeyDown);
            KeyUp            += new KeyEventHandler(RenderForm_KeyUp);
            MouseMove        += new MouseEventHandler(RenderForm_MouseMove);
            MouseDown        += new MouseEventHandler(RenderForm_MouseDown);
            MouseUp          += new MouseEventHandler(RenderForm_MouseUp);
            MouseDoubleClick += new MouseEventHandler(RenderForm_MouseDoubleClick);
        }