当前位置: 代码迷 >> VC >> 如何通过点击一个按钮实现将当前窗口截下来,并保存为JPG文件
  详细解决方案

如何通过点击一个按钮实现将当前窗口截下来,并保存为JPG文件

热度:1430   发布时间:2013-02-25 00:00:00.0
怎么通过点击一个按钮实现将当前窗口截下来,并保存为JPG文件
我用的是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");
  相关解决方案