diff options
| author | Nigel Tao <nigeltao@golang.org> | 2015-02-16 17:41:28 +1100 |
|---|---|---|
| committer | Nigel Tao <nigeltao@golang.org> | 2015-02-17 00:08:47 +0000 |
| commit | 37a61746ee491d1ab9ffddb2d3b3bdce524a0852 (patch) | |
| tree | 6fee9855063dbace133a81d33ea48bb0c25b416c /src/image | |
| parent | 490af4fd83132c6ab98de702dd9c0051820cb49c (diff) | |
| download | go-37a61746ee491d1ab9ffddb2d3b3bdce524a0852.tar.xz | |
image/draw: add CMYK test.
This just adds test cases. Optimizing CMYK draws will be a follow-up
change.
Change-Id: Ic0d6343d420cd021e21f88623ad7182e93017da9
Reviewed-on: https://go-review.googlesource.com/4941
Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/image')
| -rw-r--r-- | src/image/draw/draw_test.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/image/draw/draw_test.go b/src/image/draw/draw_test.go index 0dd7fbd479..8b4ca029eb 100644 --- a/src/image/draw/draw_test.go +++ b/src/image/draw/draw_test.go @@ -74,6 +74,16 @@ func vgradCr() image.Image { return m } +func vgradMagenta() image.Image { + m := image.NewCMYK(image.Rect(0, 0, 16, 16)) + for y := 0; y < 16; y++ { + for x := 0; x < 16; x++ { + m.Set(x, y, color.CMYK{0, uint8(y * 0x11), 0, 0x3f}) + } + } + return m +} + func hgradRed(alpha int) Image { m := image.NewRGBA(image.Rect(0, 0, 16, 16)) for y := 0; y < 16; y++ { @@ -147,6 +157,16 @@ var drawTests = []drawTest{ {"ycbcrAlphaSrc", vgradCr(), fillAlpha(192), Src, color.RGBA{8, 28, 0, 192}}, {"ycbcrNil", vgradCr(), nil, Over, color.RGBA{11, 38, 0, 255}}, {"ycbcrNilSrc", vgradCr(), nil, Src, color.RGBA{11, 38, 0, 255}}, + // Uniform mask (100%, 75%, nil) and variable CMYK source. + // At (x, y) == (8, 8): + // The destination pixel is {136, 0, 0, 255}. + // The source pixel is {0, 136, 0, 63} in CMYK-space, which is {192, 89, 192} in RGB-space. + {"cmyk", vgradMagenta(), fillAlpha(255), Over, color.RGBA{192, 89, 192, 255}}, + {"cmykSrc", vgradMagenta(), fillAlpha(255), Src, color.RGBA{192, 89, 192, 255}}, + {"cmykAlpha", vgradMagenta(), fillAlpha(192), Over, color.RGBA{178, 67, 145, 255}}, + {"cmykAlphaSrc", vgradMagenta(), fillAlpha(192), Src, color.RGBA{145, 67, 145, 192}}, + {"cmykNil", vgradMagenta(), nil, Over, color.RGBA{192, 89, 192, 255}}, + {"cmykNilSrc", vgradMagenta(), nil, Src, color.RGBA{192, 89, 192, 255}}, // Variable mask and variable source. // At (x, y) == (8, 8): // The destination pixel is {136, 0, 0, 255}. |
