跪求 c# wince下的截屏源代码?
c# 创建一个基于wince的窗体,实现截取当前wince设备屏幕的功能,我是一个初学者还请c#牛人多多帮助!
[解决办法]
获取屏幕的图片
Image screenImg = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
using (Graphics g = Graphics.FromImage(screenImg))
{
g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size);
}
然后用gdi+,自己喜欢怎么画,怎么截图都可以了!
[解决办法]
using System.Runtime.InteropServices;
using DWORD = System.UInt32;
using HANDLE = System.IntPtr;
using HDC = System.IntPtr;
[DllImport("coredll.dll")]
public static extern bool BitBlt(
IntPtr hdcDest,
int nXDest,
int nYDest,
int nWidth,
int nHeight,
IntPtr hdcSrc,
int nXSrc,
int nYSrc,
System.Int32 dwRop);
public static void PickPho()
{
//IntPtr dc1 = API.CreateDC("DISPLAY", null, null, (IntPtr)null);
//创建显示器的DC
Graphics g1 = Graphics.FromHdc(dc1);
//由一个指定设备的句柄创建一个新的Graphics对象
Bitmap MyImage = new Bitmap(800, 480);
//Bitmap My=new Bitmap(
//根据屏幕大小创建一个与之相同大小的Bitmap对象
Graphics g2 = Graphics.FromImage(MyImage);
//获得屏幕的句柄
IntPtr dc3 = g1.GetHdc();
//获得位图的句柄
IntPtr dc2 = g2.GetHdc();
//把当前屏幕捕获到位图对象中
BitBlt(dc2, 0, 0, 800, 480, dc3, 0, 0, 13369376);
//把当前屏幕拷贝到位图中
g1.ReleaseHdc(dc3);
//释放屏幕句柄
g2.ReleaseHdc(dc2);
//释放位图句柄
int i = 0;
try
{
while (File.Exists(@"D/" + i.ToString() + ".bmp"))
{
i++;
}
MyImage.Save(@"D/" + i.ToString() + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
}
catch
{ }
}