diff --git a/artist/gradient.go b/artist/gradient.go index 2a7a16d..c89ff29 100644 --- a/artist/gradient.go +++ b/artist/gradient.go @@ -14,14 +14,14 @@ func (pattern Gradient) AtWhen (x, y, width, height int) (c color.RGBA) { var position float64 switch pattern.Orientation { case OrientationVertical: - position = float64(x) / float64(width) + position = float64(y) / float64(height) case OrientationDiagonalRight: - position = (float64(x) / float64(width) + + position = (float64(width - x) / float64(width) + float64(y) / float64(height)) / 2 case OrientationHorizontal: - position = float64(y) / float64(height) + position = float64(x) / float64(width) case OrientationDiagonalLeft: - position = (float64(width - x) / float64(width) + + position = (float64(x) / float64(width) + float64(y) / float64(height)) / 2 } diff --git a/elements/testing/artist.go b/elements/testing/artist.go index 3533b5e..f319ab7 100644 --- a/elements/testing/artist.go +++ b/elements/testing/artist.go @@ -207,7 +207,11 @@ func (element *Artist) Resize (width, height int) { artist.FillEllipse ( element, artist.EllipticallyBordered { - Fill: uhex(0xFF0000FF), + Fill: artist.Gradient { + First: artist.NewUniform(hex(0x00FF00FF)), + Second: artist.NewUniform(hex(0x0000FFFF)), + Orientation: artist.OrientationVertical, + }, Stroke: artist.Stroke { Pattern: uhex(0x00FF00), Weight: 5 }, }, element.cellAt(0, 7))