figma-plugin-helpers icon indicating copy to clipboard operation
figma-plugin-helpers copied to clipboard

Issue with rotation/radius in extractRadialOrDiamondGradientParams

Open ianobermiller opened this issue 2 years ago • 0 comments

I think there is something off about how rotation and radius are computed based on the transform. I've created a test file with two equivalent radial gradients. The results look like this (numbers rounded for clarity):

// both have size 300x600

// A
transform = [[ 0, -0.5, 1], [ 0.5, 0, 0.5]]
radius = [300, 600]
rotation = 90

// B
transform = [[0.5, 0, 0.5], [0, -0.5, 1]]
radius = [300, 600]
rotation = 0

Notice that A has a rotation of 90, whereas B as a rotation of 0. Since all other params are the same and they render the same, if I were to convert the radius and rotation to SVG params then A would render incorrectly.

It also may be the case that radius and rotation cannot be used in conjunction, then I will need a different solution, perhaps using the matrix directly in an SVG.

image

ianobermiller avatar Apr 27 '22 14:04 ianobermiller