获取剪切板的数据,将剪切板的数据返回
/// <summary>
/// 从剪切板获取捕捉到的位图(Bitmap)
/// </summary>
/// <returns></returns>
public Bitmap GetCaptureBitmap()
{
IDataObject iData = Clipboard.GetDataObject();
Bitmap bmp = null;
try
{
if (iData != null)
{
if (iData.GetDataPresent(DataFormats.Bitmap))
{
bmp = (Bitmap)iData.GetData(DataFormats.Bitmap);
}
else if (iData.GetDataPresent(DataFormats.Dib))
{
bmp = (Bitmap)iData.GetData(DataFormats.Dib);
}
#region
//这一部分相当于要截取图像中心聚焦区域,裁切掉四周无用区域
//PictureBox bp = new PictureBox();
//bp.Width = nBmpWidth;
//bp.Height = nBmpHeight;
//bp.SizeMode = PictureBoxSizeMode.CenterImage;
//bp.Image = image;
//bmp = new Bitmap(bp.Image, bp.Width, bp.Height);
#endregion
}
Clipboard.Clear();
}
catch (Exception ex)
{
LogHelper.WriteFile("error:剪切板抓取位图异常!原因:" + ex.Message);
}
return bmp;
}
/// <summary>
/// 从剪切板获取捕捉到的位图(Image)
/// </summary>
/// <returns></returns>
public Image GetCaptureImage()
{
IDataObject iData = Clipboard.GetDataObject();
Image image = null;
try
{
if (iData != null)
{
if (iData.GetDataPresent(DataFormats.Bitmap))
{
image = (Image)iData.GetData(DataFormats.Bitmap);
}
else if (iData.GetDataPresent(DataFormats.Dib))
{
image = (Image)iData.GetData(DataFormats.Dib);
}
#region
//这一部分相当于要截取图像中心聚焦区域,裁切掉四周无用区域
//PictureBox bp = new PictureBox();
//bp.Width = nBmpWidth;
//bp.Height = nBmpHeight;
//bp.SizeMode = PictureBoxSizeMode.CenterImage;
//bp.Image = image;
//bmp = new Bitmap(bp.Image, bp.Width, bp.Height);
#endregion
}
Clipboard.Clear();
}
catch (Exception ex)
{
LogHelper.WriteFile("error:剪切板抓取位图异常!原因:" + ex.Message);
}
return image;
}