diff --git a/Pixiview/Illust/ViewIllustPage.xaml.cs b/Pixiview/Illust/ViewIllustPage.xaml.cs index 6fe6ae8..62b99b1 100644 --- a/Pixiview/Illust/ViewIllustPage.xaml.cs +++ b/Pixiview/Illust/ViewIllustPage.xaml.cs @@ -317,7 +317,8 @@ namespace Pixiview.Illust { tmp[i] = new IllustDetailItem { - Id = illustItem.Id + Id = illustItem.Id, + Loading = true }; } Illusts = items = tmp; diff --git a/Pixiview/Utils/Ugoira.cs b/Pixiview/Utils/Ugoira.cs index bd832de..e18c056 100644 --- a/Pixiview/Utils/Ugoira.cs +++ b/Pixiview/Utils/Ugoira.cs @@ -455,12 +455,17 @@ namespace Pixiview.Utils { var cgImage = images[i].CGImage; var width = cgImage.Width; - using (CGBitmapContext bitmapContext = new CGBitmapContext(pxdata, width, cgImage.Height, - 8, 4 * (width + width % 8), rgbColorSpace, CGImageAlphaInfo.NoneSkipFirst)) + var height = cgImage.Height; + using (CGBitmapContext bitmapContext = new CGBitmapContext( + pxdata, width, height, + cgImage.BitsPerComponent, + 4 * (width + width % 4), + rgbColorSpace, + CGImageAlphaInfo.NoneSkipFirst)) { if (bitmapContext != null) { - bitmapContext.DrawImage(new CGRect(0, 0, cgImage.Width, cgImage.Height), cgImage); + bitmapContext.DrawImage(new CGRect(0, 0, width, height), cgImage); } } } @@ -482,7 +487,7 @@ namespace Pixiview.Utils lastTime = CMTime.Add(lastTime, frameTime); break; } - Thread.Sleep(100); + Thread.Sleep(16); } } writerInput.MarkAsFinished();