前段时间,当我也对奇怪的坐标系感到恼火时,我在我的图形中添加了以下行为:
setProp relFillGradient[pKind] pPoint
put round(item 1 of pPoint*the width of me + item 1 of the topLeft of me) into tX
put round(item 2 of pPoint*the height of me + item 2 of the topLeft of me) into tY
set the fillGradient[pKind] of me to tX,tY
end relFillGradient
getProp relFillGradient[pKind]
put the fillGradient[pKind] of me into tPoint
put (item 1 of tPoint - item 1 of the topleft of me)/the width of me into tRelX
put (item 2 of tPoint - item 2 of the topleft of me)/the height of me into tRelY
return (tRelX,tRelY)
end relFillGradient
然后设置 fillGradient 你可以这样做:
set the relFillGradient["from"] of graphic "myGraphic" to 0.1,0.3
其中相对点为左上角的 0,0 和右下角的 1,1。
注意:由于您需要将值设置为四舍五入的值,您可能无法从 getProp 获得完全相同的值。
如果您不想要百分比值(就像我所做的那样),它会变得更加简单,因为您可以删除乘法,并且您可以获得不必四舍五入的好处。