Avatar
この前質問したネーミングの件ですが、 Datawrite(to:options:) に倣って名詞を後ろにおいてもいいだろうということで write(to:formatting:)write(to:format:) としました。ありがとうございました。 (edited)
12:41 AM
--- それとは別に↓を悩んでます。 次のように、extrapolatedBy: を付与することで、 x, y が画像の範囲外にはみ出てしまった場合でも外挿してくれる API を提供しています。 let red = RGBA<UInt8>(red: 255, green: 0, blue: 0, alpha: 255) let pixel = image[x, y, extrapolatedBy: .filling(red)] // 例えば x = -1, y = -1 なら red が返される (edited)
12:43 AM
この extrapolatedBy に与えているのは ExtrapolationMethod 型の値なのですが、次のように宣言されています。 enum ExtrapolationMethod<Pixel> { case filling(Pixel) // 画像の外側を与えられた値で埋める case edging // 画像の外側を最も近いエッジのピクセルで埋める case repeating // 画像の外側を画像の繰り返しで埋める case reflecting // 画像の外側を画像を鏡写しに折り返して埋める } (edited)
12:43 AM
これを、 edge, repeat, reflection に変えた方がいい気がしてるんですがいかがでしょうか。 (edited)
12:48 AM
特に edging を縁取り的な意図で使ってるんですが、無限の大きさを持った縁なので 縁取りのイメージと合わない気が。一方で、今のままだと -ing の統一感はあります。
12:49 AM
OpenGL に倣うと clampingToEdge とかになると思うんですがちょっと長すぎかなと。