public void Test_Reverse() { using (MagickImageCollection collection = new MagickImageCollection(Files.RoseSparkleGIF)) { MagickImage first = collection.First(); collection.Reverse(); MagickImage last = collection.Last(); Assert.IsTrue(last == first); } }
private async void OnSelectedSourceFileChanged() { if (SelectedSourceFile == null || !SelectedSourceFile.Exists) return; var settings = new MagickReadSettings { Density = new Density(150, 150), FrameIndex = 0, FrameCount = 1 }; var filename = Path.GetTempFileName(); await Task.Run(() => { try { using (var images = new MagickImageCollection()) { images.Read(SelectedSourceFile, settings); var image = images.First(); image.Format = MagickFormat.Jpeg; images.Write(filename); } } catch (Exception ex) { Log.Warn("Unable to preview document.", ex); PreviewImage = null; PreviewImageFilename = null; SelectedFilePageCount = 0; } try { using (var pdfReader = new PdfReader(SelectedSourceFile.FullName)) SelectedFilePageCount = pdfReader.NumberOfPages; } catch (Exception ex) { Log.Warn("Unable to count pages.", ex); SelectedFilePageCount = 0; } }); try { var uri = new Uri(filename); var bitmap = new BitmapImage(uri); PreviewImage = bitmap; PreviewImageFilename = filename; } catch (Exception) { Log.Warn("Unable to preview selected document."); try { var uri = new Uri("pack://application:,,,/PaperPusher;component/Art/unknown_icon_512.png"); var bitmap = new BitmapImage(uri); PreviewImage = bitmap; } catch (Exception ex) { Log.Error("Error showing unknown file icon.", ex); } } }