none
晒晒我的程序 RRS feed

  • 常规讨论

  • 这几天做了一个

    屏幕截图工具,做此工具的原因只是因为看到了一段屏幕取图的代码C#那么简短。
    我做到我的如意工具箱→系统工具→屏幕载图  下载地址http://3http.com

     

    以下为屏幕取图代码

    C# code
     //获得当前屏幕的分辨率
    var scr = Screen.PrimaryScreen;
    var iWidth = scr.Bounds.Width;
    var iHeight = scr.Bounds.Height;
    //创建一个和屏幕一样大的Bitmap
    var myImage = new System.Drawing.Bitmap(iWidth*1, iHeight*1);
    var g3 = System.Drawing.Graphics.FromImage(myImage);
    var br = new Rectangle(0,0,iWidth,iHeight);
    
    g3.CopyFromScreen(0,0,0,0,br.Size);
    
    myImage.Save(ph)
    g3.Dispose()
    myImage.Dispose()
    
    
    2011年3月15日 1:16

全部回复

  • 以下为屏幕载图代码,
     string strFileNameOld = "f:\\ddd1.png";
          string strFileNameNew = "f:\\ddd3.png";
          Bitmap originBmp = (Bitmap)System.Drawing.Image.FromFile(strFileNameOld);
          int w = Convert.ToInt32(originBmp.Width * iSize);
          int h = Convert.ToInt32(originBmp.Height * iSize);
          Bitmap resizedBmp = new Bitmap(w, h);
          Graphics g = Graphics.FromImage(resizedBmp);
          g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
          g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
          //g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Invalid;
          g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
          g.DrawImage(originBmp, new Rectangle(0, 0, w, h), new Rectangle(0, 0, originBmp.Width, originBmp.Height), GraphicsUnit.Pixel);
          g.Dispose();
          originBmp.Dispose();
          resizedBmp.Save(strFileNameNew, System.Drawing.Imaging.ImageFormat.Bmp);
    
    2011年3月15日 1:18
  • 说错了,上面是图片放大代码,其中得加入下面这句

    g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;

    加入上面这句的话,放大后不会缺少一像素了。

    2011年3月15日 1:19
  • 嗯,不错,不错。

    我把这个帖子改成讨论帖了,你这个不算提问题了。

    谢谢分享了!


    Cookie Luo[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年3月15日 1:50