SkiaSharp и Xamarin.Forms — невозможно декодировать png

При использовании следующего кода в PCL я получаю ArgumentNullException для имени параметра codec.

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

Исключение выдается в SKBitmap.Decode. Я могу убедиться, что изображение является допустимым файлом PNG и что длина потока больше 0.

Нужно ли устанавливать кодеки отдельно или как? Я не вижу ничего об этом в образцах.


person Drew Lederman    schedule 16.02.2017    source источник
comment
Вы можете поделиться полным исключением? И если можно PNG? А другие PNG работают?   -  person Matthew    schedule 17.02.2017
comment
SkiaSharp включает в себя все кодеки, поэтому ничего дополнительно не требуется.   -  person Matthew    schedule 17.02.2017
comment
@Matthew - Спасибо за ваш вклад, вы указали мне правильное направление. Смотрите мой ответ ниже. Ты в команде SkiaSharp, верно? Возможно, в будущем можно будет добавить поддержку изображений pngcrush'd?   -  person Drew Lederman    schedule 17.02.2017


Ответы (1)


Отключив оптимизацию PNG (pngcrush) в настройках сборки iOS, я смог решить проблему.

person Drew Lederman    schedule 17.02.2017
comment
К сожалению, это ответ Google: это проприетарный формат png, поддерживаемый только iOS. У нас нет планов поддерживать этот groups.google.com/forum/#!searchin/skia-discuss/ - person Matthew; 17.02.2017
comment
облом. В очередной раз благодарим за помощь. - person Drew Lederman; 18.02.2017