我一直在研究一個特定的動畫,我需要將圓角矩形形狀轉換爲圓形(使用動畫)。我檢查了paper.js的文檔,並沒有找到任何預定義的函數來實現這一點。將圓角矩形變換爲圓形
動畫需要是光滑的。由於我正在使用的矩形數量非常大,因此我無法使用「移除當前圓角矩形並重新繪製一個更多圓角版本」方法。它降低了性能,動畫變得遲鈍。
這是我用來生成圓角矩形的代碼。
// Had to paste something to post the question
// Though the whole code can be seen on codepen link
var rect = new Rectangle();
var radius = 100, origin = {x: 100, y: 100};
rect.size = new Size(radius, radius);
rect.center = new Point(origin.x, origin.y);
var cornerSize = radius/4;
var shape = new Path.Rectangle(rect, cornerSize);
編寫了這個Codepen示例來顯示進度。
如果我們可以使用任何其他對象類型來計算整個動畫,那也可以。現在我找不到任何可以將圓角矩形轉換爲圓的任何屬性。
我也是動畫的對象和位置的顏色。我已經瀏覽了很多文檔來找出彩色動畫。 PS:如果有任何其他(更好的)技術對物體的顏色進行動畫處理,請分享一下。
非常感謝。所以我說得對,形狀沒有這種功能。現在我必須將所有形狀更改爲路徑。那正是我所需要的。 –
@AkashK。其實我只是找到了一種使用Shape的方法。看看我對新方法的回答的編輯。 – Waruyama
我很想知道你是如何找到這個的?是否有任何我錯過的形狀的文檔或文章。通常情況下,沒有人會考慮設置矩形的半徑:p 我希望我可以再次提出答案。 –