[WIP] apng provider

This commit is contained in:
Paddy Xu
2018-08-28 00:16:25 +03:00
parent ee6bca704d
commit 3bcb48a43c
11 changed files with 163 additions and 103 deletions

View File

@@ -33,17 +33,16 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
{
private readonly List<FrameInfo> _frames;
private readonly List<BitmapSource> _renderedFrames;
private ImageMagickProvider _imageMagickProvider;
private NETImageProvider _imageMagickProvider;
private int _lastEffecitvePreviousPreviousFrameIndex;
public APNGAnimationProvider(string path, NConvert meta, Dispatcher uiDispatcher) : base(path, meta,
uiDispatcher)
public APNGAnimationProvider(string path) : base(path)
{
var decoder = new APNGBitmap(path);
if (decoder.IsSimplePNG)
{
_imageMagickProvider = new ImageMagickProvider(path, meta, uiDispatcher);
_imageMagickProvider = new NETImageProvider(path);
return;
}
@@ -66,6 +65,11 @@ namespace QuickLook.Plugin.ImageViewer.AnimatedImage
}
}
public override Task<BitmapSource> GetThumbnail(Size size, Size fullSize)
{
throw new NotImplementedException();
}
public override Task<BitmapSource> GetRenderedFrame(int index)
{
if (_imageMagickProvider != null)