侧边栏壁纸
博主头像
Eoser's page! 博主等级

@学习@生活@自己

  • 累计撰写 114 篇文章
  • 累计创建 29 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

GO语言Robotgo学习-位图操作(5)

eoser
2023-03-23 / 0 评论 / 0 点赞 / 4 阅读 / 0 字

CaptureScreen,截图操作

返回值为位图的对象 CaptureScreen(横向坐标x,纵向坐标y,图片高度,图片宽度) 截图的时候是在x,y点的基础分别加上高度与宽度的点,两点形成的矩形框

bitmap := robotgo.CaptureScreen(10, 20, 30, 40)

SaveBitmap,保存位图为文件

截了图,当然要保存才有用,这里的bitmap就是上面得到的bitmap SaveBitmap(位图的对象, 保存路径与文件名,图片类型(可忽略,我也没搞清楚))

robotgo.SaveBitmap(bitmap, "test.png")

OpenBitmap,把png图片转为bitmap对象

bitmap:=robotgo.OpenBitmap("test.png")

FindBitmap,找到bitmap对象的坐标

fx, fy := robotgo.FindBitmap(bitmap)
fmt.Println("FindBitmap------", fx, fy)

TostringBitmap,把位图对象转为字符串

fmt.Println(robotgo.TostringBitmap(bitmap))

GetPortion,截取位图对象的一部分

GetPortion(位图对象,起始横向坐标,起始纵向坐标,宽度,高度)

bm:=robotgo.OpenBitmap("test.png")
cutBm:=robotgo.GetPortion(bm,0,0,100,100)
robotgo.SaveBitmap(cutBm,"cutBm.png")

Convert,图片格式转换

Convert(文件源路径,新文件目标路径,文件格式),文件格式文档没写,代码里也没看出对应的判断代码,不知道有什么意义,为0时大小不变,为2时文件大小变大很多,其他无作用,文件格式设置可省略

robotgo.Convert("test.png", "test.jpg",2)

FreeBitmap,释放位图

把位图释放掉,下面代码在保存时会报错

bm:=robotgo.OpenBitmap("test.png")
robotgo.FreeBitmap(bm)
robotgo.SaveBitmap(bm,"freeBm.png")

ReadBitmap,判断位图是否为空

如果为空,返回false,否则true

bm:=robotgo.OpenBitmap("test.png")
bm=nil
fmt.Println(robotgo.ReadBitmap(bm))

CopyBitpb,将位图复制到剪贴板

在word文件中ctrl+v,图片就会拷贝到文件中了

bm:=robotgo.OpenBitmap("test.png")
robotgo.CopyBitpb(bm)

DeepCopyBit,复制位图对象

bm:=robotgo.OpenBitmap("test.png")
cyBm:=robotgo.DeepCopyBit(bm)
robotgo.SaveBitmap(cyBm,"cyBm.png")
0

评论区