Browse Source

Merge pull request #8601 from AvaloniaUI/fixes/7773-skia-stream-workaround

Workaround for SkiaSharp broken image decoding.
pull/8699/head
Nikita Tsukanov 4 years ago
committed by Steven Kirk
parent
commit
7fb8c019e0
  1. 3
      src/Skia/Avalonia.Skia/ImmutableBitmap.cs
  2. 6
      src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs

3
src/Skia/Avalonia.Skia/ImmutableBitmap.cs

@ -57,7 +57,8 @@ namespace Avalonia.Skia
public ImmutableBitmap(Stream stream, int decodeSize, bool horizontal, BitmapInterpolationMode interpolationMode)
{
using (var skStream = new SKManagedStream(stream))
using (var codec = SKCodec.Create(skStream))
using (var skData = SKData.Create(skStream))
using (var codec = SKCodec.Create(skData))
{
var info = codec.Info;

6
src/Skia/Avalonia.Skia/WriteableBitmapImpl.cs

@ -25,8 +25,9 @@ namespace Avalonia.Skia
public WriteableBitmapImpl(Stream stream)
{
using (var skiaStream = new SKManagedStream(stream))
using (var skData = SKData.Create(skiaStream))
{
_bitmap = SKBitmap.Decode(skiaStream);
_bitmap = SKBitmap.Decode(skData);
if (_bitmap == null)
{
@ -41,7 +42,8 @@ namespace Avalonia.Skia
public WriteableBitmapImpl(Stream stream, int decodeSize, bool horizontal, BitmapInterpolationMode interpolationMode)
{
using (var skStream = new SKManagedStream(stream))
using (var codec = SKCodec.Create(skStream))
using (var skData = SKData.Create(skStream))
using (var codec = SKCodec.Create(skData))
{
var info = codec.Info;

Loading…
Cancel
Save