私は迅速に画像操作をしています。UnsafeMutableBufferPointerの一部を新しいUnsafeMutableBufferPointerとして取得する方法
thisコードを使用して画像ピクセルにアクセスします。
画像のピクセルは、UnsafeMutableBufferPointer
で示されています。
すべてのピクセルは、データの1つのリストにある、すべてのピクセル位置を用いて算出する必要があります
let index = y * rgba.width + x
let pixel = pixels[index]
私が手
public subscript(index: Int) -> [Pixel] {
get {
var column = [Pixel]()
for i in 0..<height {
column.append(pixels[index*height + i])
}
return column
}
}
ためにそうsubscript
を追加しようとしているそうです右の列を指すUnsafeMutableBufferPointer
を返す方法がありますか?配列の代わりに?
私はより多くのメモリ割り当てを避けようとしています。私が間違っていない限り
おかげでそのような
、画素データが列を*、*行に配置されていません。換言すれば、列の画素は連続したメモリにはない。 –
また、UnsafeMutableBufferPointerは「所有していない」ため、基本となる要素ストレージが存在する限り有効です。 –
そのRGBAコードはメモリをリークします:ピクセルデータの割り当てられたメモリは決して解放されません。 –