我試圖將庫從Swift 2轉換爲Swift 3版本時遇到vImageHistogramCalculation_ARGB8888
方法的問題。問題是,該方法接受「直方圖」的說法只是作爲在Swift 3中繪製CGImage的直方圖
UnsafeMutablePointer<UnsafeMutablePointer<T>?>
但斯威夫特3建設
let histogram = UnsafeMutablePointer<UnsafeMutablePointer<vImagePixelCount>>(mutating: rgba)
返回展開值,所以我不能投它正確打字。
編譯器錯誤是:
: Cannot invoke initializer for type 'UnsafeMutablePointer?>' with an argument list of type '(mutating: [UnsafeMutablePointer])'
你有沒有一些想法?我試圖添加「?」以直方圖不變,但後來我收到錯誤:
'init' is unavailable: use 'withMemoryRebound(to:capacity:_)' to temporarily view memory as another layout-compatible type.
有一些編譯器的建議,但我不知道如何使用它。
所以,RGBA我需要調用vImageHistogramCalculation_ARGB8888四次吧?對於每個價值?無論如何..不工作:/不能像你的例子中構建直方圖常量。你試過了嗎? –
已更新的答案。 – shallowThought
有道理謝謝你:) –