我正在繪製一系列UIBezierPath,它們都有不同的大小和位置。我想將每個形狀縮放到特定尺寸並將其移動到UIView
上的特定位置。我正在與CGAffineTransformation
工作。它很快變得混亂,因爲位置和大小不適用於所有形狀。動態縮放和平移形狀
有沒有什麼辦法可以將UIBezierPath
縮放到一個特定的尺寸,並將它翻譯(移動)到一個可以適用於大多數形狀的特定位置?也許有一種方法可以設置形狀的大小和位置,而無需使用我不知道的轉換?我繪製的形狀在尺寸上都非常不同,有些邊緣鋸齒狀。
這是我到目前爲止與我的AffineTransformations做的。
CGAffineTransform scale = CGAffineTransformMakeScale(2.0f,2.0f);
[path applyTransform:scale];
CGAffineTransform move = CGAffineTransformMakeTranslation(-10, -10);
[path applyTransform:move];
凡path
是UIBezierPath
。
這是正確的嗎?我使用的值(-10,2.0f)僅僅是示例。
我在原文中提到我目前正在使用AffineTransformations,並且他們工作得不好。如果你相信這是我應該做的,你能否提供一個更好的解釋,我應該如何應用這個轉變? – tentmaking 2013-05-13 22:30:25
請注意,您在回答您的問題後添加了代碼。該代碼應該是正確的,那麼如果它不起作用,你在另一部分代碼中做錯了。如果仍然存在一些不需要的行爲,請顯示完整的代碼。 – 2013-05-14 11:53:27
我在回答問題後添加了代碼,但我最初提到我使用CGAffineTransformations。無論哪種方式,我找到了一個解決方案,並會盡快發佈。 – tentmaking 2013-05-14 21:46:38