【发布时间】:2019-11-16 15:31:07
【问题描述】:
我正在尝试用 Golang 编写一个程序来从 Windows 剪贴板获取图像数据。
我了解there is a plugin for getting data from Windows Clipboard,问题是它不支持图像数据,仅支持文本。基本上不是我要找的。p>
package main
import ("fmt"
"github.com/atotto/clipboard"
)
func main() {
str,err:=clipboard.ReadAll()
if err!=nil {
fmt.Println(err)
}else {
fmt.Println(str)
}
}
这将输出“操作成功完成”。如果剪贴板包含图像,则会出错。
知道怎么做吗?
更新!
我尝试将CF_BITMAP 传递给GetClipboardData,它返回位图(Hbitmap)的句柄。我不熟悉处理它,但显然它是一个很长的无符号数字?
无论如何,我尝试了一些谷歌搜索来到this。使用函数GdipCreateBitmapFromHBITMAP:
var Bitmap *win.GpBitmap
pBitmap := &Bitmap
fmt.Println(win.GdipCreateBitmapFromHBITMAP(win.HBITMAP(Hbitmap),0,pBitmap))
我得到一个“ok”的输出,但是位图是空的。我又被卡住了。
我应该如何存储位图?
【问题讨论】:
-
你发现了吗?