首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将image.Image转换为image.NRGBA

将image.Image转换为image.NRGBA
EN

Stack Overflow用户
提问于 2015-07-16 20:17:41
回答 2查看 8.4K关注 0票数 10

当我调用png.Decode(imageFile)时,它返回一个image.Image类型。但是,我无法找到一种文档化的方法将其转换为image.NRGBAimage.RGBA,在这些方法上,我可以调用像At()这样的方法。

我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-16 20:34:08

如果不需要“转换”图像类型,而只想从接口中提取底层类型,请使用“类型断言”:

代码语言:javascript
运行
复制
if img, ok := i.(*image.RGBA); ok {
    // img is now an *image.RGBA
}

或使用类型开关:

代码语言:javascript
运行
复制
switch i := i.(type) {
case *image.RGBA:
    // i in an *image.RGBA
case *image.NRGBA:
    // i in an *image.NRBGA
}
票数 7
EN

Stack Overflow用户

发布于 2019-10-06 18:05:57

标题中如何将图像转换为image.NRGBA的问题的解决方案可以找到在Go博客上:诀窍是创建一个新的空image.NRGBA,然后将原始图像“绘制”到NRGBA映像中:

代码语言:javascript
运行
复制
import "image/draw"

...

src := ...image to be converted...
b := src.Bounds()
m := image.NewNRGBA(image.Rect(0, 0, b.Dx(), b.Dy()))
draw.Draw(m, m.Bounds(), src, b.Min, draw.Src)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31463756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档