现在的位置: 首页 > 综合 > 正文

关于从剪贴板获得截图

2012年12月09日 ⁄ 综合 ⁄ 共 973字 ⁄ 字号 评论关闭
在我参照Paint.Net开发的程序中使用了如下的方法
 1        private void AcquireFromClipboard()
 2        {
 3            IDataObject iData = Clipboard.GetDataObject();
 4            if(iData == null)
 5                return;
 6            Image img = null;
 7            if(iData.GetDataPresent(DataFormats.Bitmap) || iData.GetDataPresent(DataFormats.MetafilePict))
 8            {
 9                img = (Image)iData.GetData(DataFormats.Bitmap);
10                PaintDotNet.WinGUI.Forms.ImageForm imageForm = new PaintDotNet.WinGUI.Forms.ImageForm(this);
11                PdnLib.Document doc = new PdnLib.Document(img);
12                doc.IsDirty = true;
13                imageForm.GetView().GetSurfaceBox().Document = doc;
14                this.layersDialog.BindLayerList(imageForm.GetView().GetSurfaceBox().Document.Layers);
15                imageForm.Show();
16            }

17        }

其中iData.GetDataPresent(DataFormats.MetafilePict)可以确保我的程序能够获得Office程序复制的内容
下面给出一幅截图(程序获得了通过PrintScreen截取的绘图程序界面)

抱歉!评论已关闭.