zoukankan      html  css  js  c++  java
  • 抓取屏幕或窗体并保存成图片

    抓取屏幕:
    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);  

    private image catchscreen()
    {
    bitmap bmpcatched = new bitmap(this.tablelayoutpanel1.width + 1, this.tablelayoutpanel1.height + 1);
    graphics g = graphics.fromimage(bmpcatched);
    system.drawing.rectangle rect = new system.drawing.rectangle(10, 10, 500, 400);
      g.copyfromscreen(new point(this.left + this.tablelayoutpanel1.location.x + 7, this.tablelayoutpanel1.location.y + (panelregisted.height - tablelayoutpanel1.height) / 2 - 1), new point(0, 0), this.panelregisted.clientrectangle.size);
      g.drawrectangle(new pen(color.black), 0, 0, bmpcatched.width - 1, bmpcatched.height - 1);
      image image = bmpcatched; 
      return image;
      }

    保存窗体或控件:
         Rectangle r = Screen.PrimaryScreen.Bounds;
                Bitmap bmp = new Bitmap(r.Width,r.Height);
                this.DrawToBitmap(bmp, r);
                bmp.Save("d:/aa.jpg");
        注:窗体及控件皆有DRAWTOBITMAP这个方法(FW2.0以上)。

  • 相关阅读:
    TypeScript学习笔记
    Spring基础知识
    Filter基础知识
    如何开发自定义标签
    会话和会话状态
    Servlet转发到JSP页面的路径问题
    JDBC相关知识
    gimp 很强大, 可是不会用
    python 启动文件
    minidnla policy
  • 原文地址:https://www.cnblogs.com/vic_lu/p/1820581.html
Copyright © 2011-2022 走看看