我用的是VS2008,建了一个Windows窗体应用程序,想要通过点击按钮把当前的这个窗口截下来,保存到指定文件夹。怎么实现
------解决方案--------------------------------------------------------
postmessage()
截屏的那个命令
------解决方案--------------------------------------------------------
windows下面有 API函数可以截屏的, 不过只能保存成BMP的 要想保存为JPG还要自己写JPEG压缩算法哦
------解决方案--------------------------------------------------------
可以截取指定区域,与普通的截屏没什么区别,仅仅是截取当前窗体所在屏幕显示的区域而已,你搜下"C# 截屏"会有很多。
------解决方案--------------------------------------------------------
- C/C++ code
Bitmap^ b = gcnew Bitmap(this->Width, this->Height);Graphics^ g = Graphics::FromImage(b);g->CopyFromScreen(this->Location, Point(0, 0), this->Size);b->Save("C:\\1.jpg", System::Drawing::Imaging::ImageFormat::Jpeg);
------解决方案--------------------------------------------------------
6楼到底行不?
------解决方案--------------------------------------------------------
Rectangle R = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
Image img = new Bitmap(R.Width, R.Height);
Graphics G = Graphics.FromImage(img);
G.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(R.Width, R.Height));。
IntPtr dc = G.GetHdc();
G.ReleaseHdc(dc);
G.Dispose();
img .Save("c:\\a.jpg");
或
private static extern bool BitBlt(IntPtr hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,IntPtr hdcSrc,int nXSrc,int nYSrc,Int32 dwrop);
------解决方案--------------------------------------------------------
你用的是什么语言?错误信息是什么?如果是VC.NET,把我前面回复的代码直接复制上就可以。
------解决方案--------------------------------------------------------
8楼只有一点笔误在第四行“。”上
这样行了
- C# code
Rectangle R = System.Windows.Forms.Screen.PrimaryScreen.Bounds; Image img = new Bitmap(R.Width, R.Height); Graphics G = Graphics.FromImage(img); G.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(R.Width, R.Height)); IntPtr dc = G.GetHdc(); G.ReleaseHdc(dc); G.Dispose(); img.Save("c:\\a.jpg");