今天无聊翻代码,翻出来一个以前写的c#截屏的函数...拿出来与大家共享一下.
这段代码是参照网上一段截屏的c++代码改写的.只不过把api都声明了一下而已. 【相关文章:AOP C#在行动(续2)】 【扩展阅读:J2EE还是.NET,这是一个问题】声明的各api也附后.以供参照.如有问题欢迎指出.(appledotnet@hotmail.com) 【扩展信息:必须认清楚BLOG的两个方向?】
///
/// 截取部分屏幕 /// /// 左上角 /// 右下角 /// 是否全屏幕 /// 返回值bitmap public static bitmap getpartscreen(point p1,point p2,bool full) { intptr hscrdc,hmemdc; intptr hbitmap,holdbitmap; int nx,ny,nx2,ny2; nx=ny=nx2=ny2=0; int nwidth, nheight; int xscrn, yscrn; hscrdc = createdc("display", null, null, 0);//创建dc句柄 hmemdc = createcompatibledc(hscrdc);//创建一个内存dc xscrn = getdevicecaps(hscrdc, getdevicecapsindex.horzres);//获取屏幕宽度 yscrn = getdevicecaps(hscrdc, getdevicecapsindex.vertres);//获取屏幕高度 if(full)//如果是截取整个屏幕 { nx = 0; ny = 0; nx2 = xscrn; ny2 = yscrn; ... 下一页