From: Nigel Tao Date: Wed, 18 Mar 2015 22:46:43 +0000 (+1100) Subject: image/color: add alpha-premultiplied comment. X-Git-Tag: go1.5beta1~1478 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=25bf792197ff737fc84c8b1dd46be8a6b066333a;p=gostls13.git image/color: add alpha-premultiplied comment. Change-Id: I9968f53a8286a0e5ccc197a9b5fae499e2f95326 Reviewed-on: https://go-review.googlesource.com/7790 Reviewed-by: Rob Pike --- diff --git a/src/image/color/color.go b/src/image/color/color.go index ff596a76a3..e062e0f9ac 100644 --- a/src/image/color/color.go +++ b/src/image/color/color.go @@ -12,11 +12,17 @@ type Color interface { // for the color. Each value ranges within [0, 0xFFFF], but is represented // by a uint32 so that multiplying by a blend factor up to 0xFFFF will not // overflow. + // + // An alpha-premultiplied color component c has been scaled by alpha (a), + // so has valid values 0 <= c <= a. RGBA() (r, g, b, a uint32) } -// RGBA represents a traditional 32-bit alpha-premultiplied color, -// having 8 bits for each of red, green, blue and alpha. +// RGBA represents a traditional 32-bit alpha-premultiplied color, having 8 +// bits for each of red, green, blue and alpha. +// +// An alpha-premultiplied color component C has been scaled by alpha (A), so +// has valid values 0 <= C <= A. type RGBA struct { R, G, B, A uint8 } @@ -33,8 +39,11 @@ func (c RGBA) RGBA() (r, g, b, a uint32) { return } -// RGBA64 represents a 64-bit alpha-premultiplied color, -// having 16 bits for each of red, green, blue and alpha. +// RGBA64 represents a 64-bit alpha-premultiplied color, having 16 bits for +// each of red, green, blue and alpha. +// +// An alpha-premultiplied color component C has been scaled by alpha (A), so +// has valid values 0 <= C <= A. type RGBA64 struct { R, G, B, A uint16 }