2017-02-16 26 views
1

При использовании следующего кода в PCL я получаю ArgumentNullException для имени параметра codec.SkiaSharp и 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'd может быть добавлена ​​в будущем? –

ответ

1

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

+0

К сожалению, это ответ Google: «Это проприетарный формат png, поддерживаемый только iOS. У нас нет планов поддержать это» https://groups.google.com/forum/#!searchin/skia-discuss/ png $ 20ios% 7Csort: актуальность/skia-discuss/nbRQI7pfqbw/go5v1nF6CwAJ – Matthew

+1

Bummer. В очередной раз благодарим за помощь. –

 Смежные вопросы

  • Нет связанных вопросов^_^