format:
の方向で、もう少し色んな API を調べてみてから変更したいと思います。func rotated(by angle: Double) -> Image<Pixel>
で CGAffineTransform
の↓に倣ってるんですが、 func rotated(by angle: CGFloat) -> CGAffineTransform
90 度単位で n 回回転させたいって times
を後ろに付けることができないし、 API Design Guidelines にもそんな例はないしどうしたらいいものかと。 (edited)func rotated(_ times: Int) -> Image<Pixel>
rotatedOrthogonally(_)
に変えるとか、 ratated(n, .times)
で呼び出せるようにするとか、 rotated(byDegrees angle: Int)
にして 90 の倍数のときだけ特殊処理をするとかあるかなとも思うんですが(ラジアンではなく度で受ける byDegrees
は NSView
のメソッドで見られます)、最後のパターンは 90 度以外のときに余白を埋める必要があり、デフォルトの Pixel
の値がわからない任意の型では使えなくなってしまいます( 90 度単位では余白が存在しないので問題ない)。引数が Int
版は 90 度単位でない場合は実行時エラーにすることもできますが、 times
ならエラーがないのに微妙だなと。 (edited)