当我致电png.Decode(imageFile)
时,它会返回image.Image
类型。但我无法找到一种记录方式将其转换为image.NRGBA
或image.RGBA
,我可以在其中调用At()
等方法。
我怎样才能做到这一点?
答案 0 :(得分:5)
如果您不需要“转换”图像类型,并且只想从界面中提取基础类型,请使用“类型断言”:
if img, ok := i.(*image.RGBA); ok {
// img is now an *image.RGBA
}
或者使用类型开关:
switch i := i.(type) {
case *image.RGBA:
// i in an *image.RGBA
case *image.NRGBA:
// i in an *image.NRBGA
}
答案 1 :(得分:1)
可以找到in the Go Blog标题中的问题的解决方案,即如何将图像转换为image.NRGBA
:诀窍是创建一个新的空白{ {1}},然后将原始图像“绘制”到NRGBA图像中:
image.NRGBA