go 画图 压缩图片

 使用

"github.com/disintegration/imaging"

"github.com/fogleman/gg"包

 

func drawBackground(path string) {
	// 加载图片
	// img, err := gg.LoadPNG("map.png")
	img, err := gg.LoadPNG("aifile/maps/" + path)
	if err != nil {
		panic(err)
	}

	// 获取图片尺寸
	size := img.Bounds().Size()

	width := size.X
	height := size.Y

	// 以加载图片的宽高作为新图片的大小
	dc := gg.NewContext(width, height)

	// 画图
	dc.DrawImage(img, 0, 0)
        //获取的坐标
        //点的颜色设置
	dc.SetRGB(0, 1, 0)
        //点的坐标x,y,半径
	dc.DrawPoint(20, 20, 8)
	
		
		// dc.Stroke()   		dc.Fill()   必须有一个绘制呈现
    		dc.Fill()  
	
		err = dc.SavePNG("aifile/maps/1K.png")
		// 保存新图片,一般quality设置为75即可,最高可设置为100,值越高,质量越好,但是占空间大
		// err = dc.SaveJPG("aifile/maps/1K1"+ks+".jpg", 1)
		if err != nil {
			panic(err)
		}

//开始压缩图片
		src, err := imaging.Open("aifile/maps/1K" + ks + ".png")
		if err != nil {
			panic(err)
		} else {
			src = imaging.Resize(src, 1250, 0, imaging.Lanczos)
			smallimgPath := "aifile/maps/1Kaaa" + ks + ".png"
			imaging.Save(src, smallimgPath)

		}

	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值