Golang imageパッケージのRGBA等とNRGBA等の違い
タイトルの通りなのですが、

RGBAとNRGBA等のNが頭についた構造体の違いはなんでしょうか。

[image.RGBA](https://golang.org/pkg/image/#RGBA)  
[image.NRGBA](https://golang.org/pkg/image/#NRGBA)

RGBAはcolor.RGBAを持っていて、NRGBAはcolor.NRGBAを持っていますが、どちらも同じフィールドを持っていて、メソッドも同じなので何が違うのかがわかりません。

[color.RBGA](https://golang.org/pkg/image/color/#RGBA)  
[color.NRGBA](https://golang.org/pkg/image/color/#NRGBA)

これらの構造体は何が違っていてどのように使い分ければいいのでしょうか。
[The Go image package](http://blog.golang.org/go-image-package) を読むと、

> **Colors and Color Models**
>
> Note that the R field of an RGBA is an 8-bit **alpha-premultiplied color**
> in the range [0, 255]. ... Similarly, the NRGBA struct type represents an
> 8-bit **non-alpha-premultiplied color** , as used by the PNG image format.
> When manipulating an NRGBA's fields directly, the values are non-alpha-
> premultiplied, but when calling the RGBA method, the return values are
> alpha-premultiplied.

RGB 値に alpha 値を乗算している(RGBA)か、していないか(NRGBA)の違いがある様です。
[The Go image package](http://blog.golang.org/go-image-package) を読むと、

> **Colors and Color Models**
>
> Note that the R field of an RGBA is an 8-bit **alpha-premultiplied color**
> in the range [0, 255]. ... Similarly, the NRGBA struct type represents an
> 8-bit **non-alpha-premultiplied color** , as used by the PNG image format.
> When manipulating an NRGBA's fields directly, the values are non-alpha-
> premultiplied, but when calling the RGBA method, the return values are
> alpha-premultiplied.

RGB 値に alpha 値を乗算している(RGBA)か、していないか(NRGBA)の違いがある様です。