Browse Source
Merge pull request #8601 from AvaloniaUI/fixes/7773-skia-stream-workaround
Workaround for SkiaSharp broken image decoding.
pull/8611/head
Nikita Tsukanov
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
6 additions and
4 deletions
-
src/Skia/Avalonia.Skia/ImmutableBitmap.cs
-
src/Skia/Avalonia.Skia/WriteableBitmapImpl.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; |
|
|
|
|
|
|
|
|
|
|
|
@ -4,7 +4,6 @@ using System.Threading; |
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using Avalonia.Platform; |
|
|
|
using Avalonia.Skia.Helpers; |
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using SkiaSharp; |
|
|
|
|
|
|
|
namespace Avalonia.Skia |
|
|
|
@ -25,8 +24,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 +41,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; |
|
|
|
|
|
|
|
|