diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2015-09-28 13:14:49 -0400 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2015-09-28 13:14:49 -0400 |
commit | 00b5f604c995bd3faaf339766a58cd596d2ce005 (patch) | |
tree | 43e529250bab982c73816f1ffdf673e8e4b98c13 /Godeps/_workspace/src/code.google.com/p/graphics-go/graphics/graphicstest/graphicstest.go | |
parent | a055fd10b83b28bf97877e4e28a2275f74a71a4a (diff) | |
parent | 503501ab3b616fb9fa57b046df850cfc2db734f8 (diff) | |
download | chat-00b5f604c995bd3faaf339766a58cd596d2ce005.tar.gz chat-00b5f604c995bd3faaf339766a58cd596d2ce005.tar.bz2 chat-00b5f604c995bd3faaf339766a58cd596d2ce005.zip |
Merge pull request #772 from jdeng/imaging_fix
use github.com/disintegration/imaging
Diffstat (limited to 'Godeps/_workspace/src/code.google.com/p/graphics-go/graphics/graphicstest/graphicstest.go')
-rw-r--r-- | Godeps/_workspace/src/code.google.com/p/graphics-go/graphics/graphicstest/graphicstest.go | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/Godeps/_workspace/src/code.google.com/p/graphics-go/graphics/graphicstest/graphicstest.go b/Godeps/_workspace/src/code.google.com/p/graphics-go/graphics/graphicstest/graphicstest.go deleted file mode 100644 index ceb3a974d..000000000 --- a/Godeps/_workspace/src/code.google.com/p/graphics-go/graphics/graphicstest/graphicstest.go +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2011 The Graphics-Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package graphicstest - -import ( - "bytes" - "errors" - "fmt" - "image" - "image/color" - "os" -) - -// LoadImage decodes an image from a file. -func LoadImage(path string) (img image.Image, err error) { - file, err := os.Open(path) - if err != nil { - return - } - defer file.Close() - img, _, err = image.Decode(file) - return -} - -func delta(u0, u1 uint32) int { - d := int(u0) - int(u1) - if d < 0 { - return -d - } - return d -} - -func withinTolerance(c0, c1 color.Color, tol int) bool { - r0, g0, b0, a0 := c0.RGBA() - r1, g1, b1, a1 := c1.RGBA() - r := delta(r0, r1) - g := delta(g0, g1) - b := delta(b0, b1) - a := delta(a0, a1) - return r <= tol && g <= tol && b <= tol && a <= tol -} - -// ImageWithinTolerance checks that each pixel varies by no more than tol. -func ImageWithinTolerance(m0, m1 image.Image, tol int) error { - b0 := m0.Bounds() - b1 := m1.Bounds() - if !b0.Eq(b1) { - return errors.New(fmt.Sprintf("got bounds %v want %v", b0, b1)) - } - - for y := b0.Min.Y; y < b0.Max.Y; y++ { - for x := b0.Min.X; x < b0.Max.X; x++ { - c0 := m0.At(x, y) - c1 := m1.At(x, y) - if !withinTolerance(c0, c1, tol) { - e := fmt.Sprintf("got %v want %v at (%d, %d)", c0, c1, x, y) - return errors.New(e) - } - } - } - return nil -} - -// SprintBox pretty prints the array as a hexidecimal matrix. -func SprintBox(box []byte, width, height int) string { - buf := bytes.NewBuffer(nil) - i := 0 - for y := 0; y < height; y++ { - for x := 0; x < width; x++ { - fmt.Fprintf(buf, " 0x%02x,", box[i]) - i++ - } - buf.WriteByte('\n') - } - return buf.String() -} - -// SprintImageR pretty prints the red channel of src. It looks like SprintBox. -func SprintImageR(src *image.RGBA) string { - w, h := src.Rect.Dx(), src.Rect.Dy() - i := 0 - box := make([]byte, w*h) - for y := src.Rect.Min.Y; y < src.Rect.Max.Y; y++ { - for x := src.Rect.Min.X; x < src.Rect.Max.X; x++ { - off := (y-src.Rect.Min.Y)*src.Stride + (x-src.Rect.Min.X)*4 - box[i] = src.Pix[off] - i++ - } - } - return SprintBox(box, w, h) -} - -// MakeRGBA returns an image with R, G, B taken from src. -func MakeRGBA(src []uint8, width int) *image.RGBA { - b := image.Rect(0, 0, width, len(src)/width) - ret := image.NewRGBA(b) - i := 0 - for y := b.Min.Y; y < b.Max.Y; y++ { - for x := b.Min.X; x < b.Max.X; x++ { - ret.SetRGBA(x, y, color.RGBA{ - R: src[i], - G: src[i], - B: src[i], - A: 0xff, - }) - i++ - } - } - return ret -} |