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);
      }
    }
Esempio n. 2
0
        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);
                }
            }
        }