要使用`github.com/disintegration/imaging`库给圆形图片加阴影,你可以按照以下步骤进行操作:\n\n1. 确保你已经安装了Go语言环境,并在你的项目中导入`github.com/disintegration/imaging`库。\n\ngo\nimport \"github.com/disintegration/imaging\"\n\n\n2. 读取原始图片文件。\n\ngo\nsrcImage, err := imaging.Open(\"input.jpg\")\nif err != nil {\n log.Fatalf(\"Failed to open image: %v\", err)\n}\n\n\n3. 创建一个新的画布,大小与原始图片一样。\n\ngo\ncanvas := imaging.New(srcImage.Bounds().Max.X, srcImage.Bounds().Max.Y, color.Transparent)\n\n\n4. 将原始图片绘制到画布上。\n\ngo\ncanvas = imaging.PasteCenter(canvas, srcImage)\n\n\n5. 创建一个圆形遮罩。\n\ngo\nmask := imaging.NewCanvas(srcImage.Bounds().Max.X, srcImage.Bounds().Max.Y)\nmask = imaging.Circle(mask, srcImage.Bounds().Max.X/2, srcImage.Bounds().Max.Y/2, color.White)\n\n\n6. 将遮罩应用到画布上。\n\ngo\ncanvas = imaging.Overlay(canvas, mask, image.Pt(0, 0), 1)\n\n\n7. 创建一个具有阴影效果的画布。\n\ngo\nshadow := imaging.NewCanvas(srcImage.Bounds().Max.X+10, srcImage.Bounds().Max.Y+10, color.Transparent)\nshadow = imaging.Overlay(shadow, canvas, image.Pt(5, 5), 1)\n\n\n8. 保存结果图片。\n\ngo\nerr = imaging.Save(shadow, \"output.jpg\")\nif err != nil {\n log.Fatalf(\"Failed to save image: %v\", err)\n}\n\n\n以上代码将读取名为`input.jpg`的图片文件,创建一个具有圆形遮罩和阴影的图片,并保存为`output.jpg`。\n\n请注意,如果要使用该库,你需要先使用`go get`命令进行安装:\n\nshell\ngo get github.com/disintegration/imaging\n\n

Go 语言使用 Disintegration/Imaging 库给圆形图片添加阴影

原文地址: https://www.cveoy.top/t/topic/p5cV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录