我正在尝试用 Golang 编写一个程序来从 Windows 剪贴板获取图像数据。
我知道有一个插件可以从 Windows 剪贴板获取数据,问题是它不支持图像数据,仅支持文本。基本上不是我想要的。
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)的句柄。我不熟悉处理这个问题,但显然它是一个很长的无符号数字?
使用该功能GdipCreateBitmapFromHBITMAP
:
var Bitmap *win.GpBitmap pBitmap := &Bitmap fmt.Println(win.GdipCreateBitmapFromHBITMAP(win.HBITMAP(Hbitmap),0,pBitmap))
我得到了“ok”输出,但位图是空的。我又被困住了。
我应该如何存储位图?
皈依舞
潇湘沐
相关分类