// 利用剪切板獲得圖片
// 打開剪切板(佔用狀態,此時進行復制粘貼等操作將無效果)
OpenClipboard(NULL);
// 清除剪切板內容
EmptyClipboard();
// 不關閉則複製操作不起作用,無法複製到剪切板裏
CloseClipboard();
// 取得第一張圖
shape = shapes.Item(1);
shape.Select();
// 複製到剪切板
selection.CopyAsPicture();
// 打開剪切板,並且剪切板裏存在圖片
if (OpenClipboard(NULL) &&
IsClipboardFormatAvailable(CF_BITMAP))
{
// 取得剪切板中的圖片數據
HGLOBAL hClipBoard = GetClipboardData(CF_BITMAP);
if (hClipBoard)
{
//從剪貼板中取出一個內存的句柄
// 獲取內存大小
int nSize = GlobalSize(hClipBoard);
//對內存塊進行加鎖,將內存句柄值轉化爲一個指針,並將內存塊的引用計數器加一,內存中的數據也返回到指針型變量中
data.pchPic = new char[nSize];
memcpy(data.pchPic, GlobalLock(hClipBoard), nSize);
// 將數據存儲
//將內存塊的引用計數器減一
GlobalUnlock(hClipBoard);
//關閉剪貼板,釋放剪貼板資源的佔用權
CloseClipboard();
}
}
}
VC++ 通過剪切板獲得文檔中的圖片
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.