2017-02-16 58 views
1

在PCL中使用以下代碼時,我得到一個ArgumentNullException參數名稱codecSkiaSharp和Xamarin.Forms - 無法解碼PNG

using (var stream = new SKFileStream("image.png")) 
using (var bitmap = SKBitmap.Decode(stream)) { 
    ... 
} 

SKBitmap.Decode引發異常。我可以驗證圖像是一個有效的PNG文件,並且該流的長度大於0.

是否需要單獨安裝編解碼器?我在樣本中沒有看到任何關於它的信息。

+0

你能夠分享完整的例外嗎?如果可能的話,PNG?而且,還有其他PNG工作嗎? – Matthew

+1

SkiaSharp包含了所有的編解碼器,所以不需要額外的東西。 – Matthew

+0

@Matthew - 感謝您的輸入,您指引我朝着正確的方向前進。請參閱下面的答案。你在SkiaSharp團隊中,對嗎?未來可能會添加對pngcrush的圖像的支持嗎? –

回答

1

通過在iOS構建設置下禁用PNG優化(pngcrush),我能夠解決問題。

+0

不幸的是,這是谷歌的迴應:「這是一個專有的png格式,只有iOS支持。我們沒有計劃支持這個」 https://groups.google.com/forum/#!searchin/skia-discuss/ png $ 20ios%7Csort:相關/ skia-discuss/nbRQI7pfqbw/go5v1nF6CwAJ – Matthew

+1

無賴。再次感謝你的幫助。 –