| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1745 人关注过本帖, 1 人收藏
标题:如何实现像QQ那样截图
只看楼主 加入收藏
hxhfg
Rank: 1
等 级:新手上路
帖 子:284
专家分:0
注 册:2006-4-18
收藏(1)
 问题点数:0 回复次数:8 
如何实现像QQ那样截图
如何实现像QQ那样截图?
搜索更多相关主题的帖子: 如何实现像QQ那样截图 
2008-09-29 10:30
606liutong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:740
专家分:94
注 册:2006-10-9
收藏
得分:0 
你看看 有些代码你可能需要。。。

这个功能和QQ截图功能一样 只不过保存时候有些不同 改过来就OK了

屏幕截图.rar (61.41 KB)

前程——漆黑如这落寞的夜,苦苦守望,却总也望不到那泛着点点苍白的黎明!期望与希冀!无奈与魂殇!
獨自壹個人,望著大海淚流.
愛情,不敢奢望...
2008-09-29 14:07
Soul寂
Rank: 1
等 级:新手上路
帖 子:117
专家分:1
注 册:2008-9-29
收藏
得分:0 
不错!
欢迎光临专业的C#论坛:

WWW.
2008-09-29 14:29
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
using System ;
using System.Drawing ;
using System.Collections ;
using ;
using System.Windows.Forms ;
using System.Data ;
using System.Drawing.Imaging ;
public class Form1 : Form
{
    private Button button1 ;
    private components = null ;

    public Form1 ( )
    {
        //初始化窗体中的各个组件
        InitializeComponent ( ) ;
    }
    // 清除程序中使用过的资源
    protected override void Dispose ( bool disposing )
    {
        if ( disposing )
        {
            if ( components != null )
            {
                components.Dispose ( ) ;
            }
        }
        base.Dispose ( disposing ) ;
    }
    private void InitializeComponent ( )
    {
        button1 = new Button ( );
        SuspendLayout ( ) ;
        button1.Location = new System.Drawing.Point ( 64 , 40 ) ;
        button1.Name = "button1" ;
        button1.Size = new System.Drawing.Size ( 80 , 32 ) ;
        button1.TabIndex = 0 ;
        button1.Text = "捕获" ;
        button1.Click += new System.EventHandler ( button1_Click ) ;

        AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14 ) ;
        ClientSize = new System.Drawing.Size ( 216 , 125 ) ;
        Controls.Add ( button1 ) ;
        MaximizeBox = false ;
        MinimizeBox = false ;
        Name = "Form1" ;
        Text = "C#捕获当前屏幕!" ;
        ResumeLayout ( false ) ;

    }
    //声明一个API函数
    [ System.Runtime.InteropServices.DllImportAttribute ( "gdi32.dll" ) ]
    private static extern bool BitBlt (
        IntPtr hdcDest , // 目标 DC的句柄
        int nXDest ,
        int nYDest ,
        int nWidth ,
        int nHeight ,
        IntPtr hdcSrc , // 源DC的句柄
        int nXSrc ,
        int nYSrc ,
        System.Int32 dwRop // 光栅的处理数值
        ) ;

    static void Main ( )
    {
        Application.Run ( new Form1 ( ) ) ;
    }
    private void button1_Click ( object sender , System.EventArgs e )
    {
        //获得当前屏幕的大小
        Rectangle rect = new Rectangle ( ) ;
        rect = Screen.GetWorkingArea ( this ) ;
        //创建一个以当前屏幕为模板的图象
        Graphics g1 = this.CreateGraphics ( ) ;
        //创建以屏幕大小为标准的位图
        Image MyImage = new Bitmap ( rect.Width , rect.Height , g1 ) ;
        Graphics g2 = Graphics.FromImage ( MyImage ) ;
        //得到屏幕的DC
        IntPtr dc1 = g1.GetHdc ( ) ;
        //得到Bitmap的DC
        IntPtr dc2 = g2.GetHdc ( ) ;
        //调用此API函数,实现屏幕捕获
        BitBlt ( dc2 , 0 , 0 , rect.Width , rect.Height , dc1 , 0 , 0 , 13369376 ) ;
        //释放掉屏幕的DC
        g1.ReleaseHdc ( dc1 ) ;
        //释放掉Bitmap的DC
        g2.ReleaseHdc ( dc2 ) ;
        //以JPG文件格式来保存
        MyImage.Save ( @"c:\Capture.jpg" , ImageFormat.Jpeg );
        MessageBox.Show ( "当前屏幕已经保存为C盘的capture.jpg文件!" ) ;
    }
}
2008-09-29 16:17
Wikor
Rank: 1
等 级:新手上路
威 望:1
帖 子:124
专家分:0
注 册:2008-3-12
收藏
得分:0 
学习了。。
2008-09-29 21:19
iwanttostudy111
Rank: 1
来 自:青岛
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-9-22
收藏
得分:0 
你好
不错  谢谢了

一分耕耘,一分收获
2008-09-29 22:15
hxhfg
Rank: 1
等 级:新手上路
帖 子:284
专家分:0
注 册:2006-4-18
收藏
得分:0 
顶呀

2008-09-30 16:41
gantanhao
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2008-2-4
收藏
得分:0 
[bo][un]606liutong[/un] 在 2008-9-29 14:07 的发言:[/bo]

你看看 有些代码你可能需要。。。

这个功能和QQ截图功能一样 只不过保存时候有些不同 改过来就OK了

支持下了啊,呵呵
2008-10-01 18:22
goodrenze
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-8-22
收藏
得分:0 
回复 2# 606liutong 的帖子
下下来试试看,顺便顶下
2008-10-01 20:19
快速回复:如何实现像QQ那样截图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028286 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved