Fixed gradient orientation

This commit is contained in:
Sasha Koshka 2023-01-24 16:02:35 -05:00
parent d5cb1b27fe
commit 28701d01ab
2 changed files with 9 additions and 5 deletions

View File

@ -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
}

View File

@ -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))