c# 积累代码

   位图转化为字节数组: 

      MemoryStream ms = new MemoryStream();
            byte[] content;
            Bitmap bmp = GetScreenImage();
           
            bmp.Save(ms, ImageFormat.Bmp);
            content = ms.ToArray();

    字节数组保存为图片:

           FileStream fw = new FileStream(@"c:\screen3.jpg ", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            fw.Write(content, 0, content.Length);
            fw.Close();

   Array保存到ArrayList

  ArrayList myarraylist = new ArrayList();
            foreach (byte obj in data)
            {
                myarraylist.Add(obj);
            }

拷贝ArrayList到Array:

myarraylist.CopyTo(state.RecByte);

屏幕坐标与控件坐标:

                          pictureBox1.PointToScreen(new Point(0, 0));//控件左上角到屏幕坐标

                           pictureBox1.PointToClient(MousePosition);//屏幕上坐标到控件内部

判断鼠标是否在区域内:

          区域.Contains(坐标);

   窗体移动:

        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
        public const int WM_SYSCOMMAND = 0x0112;
        public const int SC_MOVE = 0xF010;
        public const int HTCAPTION = 0x0002;

        ReleaseCapture();
        SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);    

         /// <summary>
        /// 获取屏幕图像
        /// </summary>
        private Bitmap GetScreenImage()
        {
            Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            Graphics g = Graphics.FromImage(bmp);
            g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size);                
            g.Dispose();
            return bmp;
        }

 

System.Windows.Forms.SystemInformation.WorkingArea.Width 屏幕宽度

System.Windows.Forms.SystemInformation.WorkingArea.Height屏幕高度(去系统任务栏,如果你有的话)
this.Size.Width自己窗体的宽度,this.Size.Width自己窗体的高度
this.ClientRectangle.Width 工作区域宽度

this.ClientRectangle.Height工作区域高度

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值