当前位置: 首页>>代码示例>>C#>>正文


C# MagickImageCollection.Dispose方法代码示例

本文整理汇总了C#中ImageMagick.MagickImageCollection.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# MagickImageCollection.Dispose方法的具体用法?C# MagickImageCollection.Dispose怎么用?C# MagickImageCollection.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ImageMagick.MagickImageCollection的用法示例。


在下文中一共展示了MagickImageCollection.Dispose方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Exec

 public override void Exec()
 {
     //var pages = this.Beg;
     L.D("executing pdf2img by file({0}),destination format({1})", this.AsSrc, this.AsDstF);
     this.Cdl.add();
     var tf_base = Path.GetTempFileName();
     var tf = tf_base + Path.GetExtension(this.AsSrc);
     MagickImageCollection images = new MagickImageCollection();
     try
     {
         File.Copy(this.AsSrc, tf, true);
         this.Pdf2imgProc(images, tf, -1, 0);
     }
     catch (Exception e)
     {
         L.E(e, "executing pdf2img by file({0}),destination format({1}) fail with error->{2}", tf, this.AsDstF, e.Message);
         this.Result.Code = 500;
         this.Fails.Add(e);
     }
     try
     {
         File.Delete(tf);
         File.Delete(tf_base);
     }
     catch (Exception e)
     {
         L.W("executing pdf2img on delete temp file({0}) error->{1}", tf, e.Message);
     }
     this.Cdl.done();
     this.Cdl.wait();
     images.Dispose();
     L.D("executing pdf2img by file({0}),destination format({1}) done with pages({2}),fails({3})", this.AsSrc, this.AsDstF, this.Result.Count, this.Fails.Count);
 }
开发者ID:Centny,项目名称:cswf.doc,代码行数:33,代码来源:PdfCov.cs

示例2: Test_Read

    public void Test_Read()
    {
      MagickImageCollection collection = new MagickImageCollection();

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        collection.Read(new byte[0]);
      });

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        collection.Read((byte[])null);
      });

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        collection.Read((Stream)null);
      });

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        collection.Read((string)null);
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        collection.Read(Files.Missing);
      });

      collection.Read(File.ReadAllBytes(Files.RoseSparkleGIF));
      Assert.AreEqual(3, collection.Count);

      using (FileStream fs = File.OpenRead(Files.RoseSparkleGIF))
      {
        collection.Read(fs);
        Assert.AreEqual(3, collection.Count);
      }

      collection.Read(Files.RoseSparkleGIF);
      Test_Read(collection);

      collection.Read(new FileInfo(Files.RoseSparkleGIF));

      collection.Dispose();
    }
开发者ID:dlemstra,项目名称:Magick.NET,代码行数:45,代码来源:MagickImageCollectionTests.cs

示例3: Test_Ping

    public void Test_Ping()
    {
      MagickImageCollection collection = new MagickImageCollection();

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        collection.Ping(new byte[0]);
      });

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        collection.Ping((byte[])null);
      });

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        collection.Ping((Stream)null);
      });

      ExceptionAssert.Throws<ArgumentNullException>(delegate ()
      {
        collection.Ping((string)null);
      });

      ExceptionAssert.Throws<ArgumentException>(delegate ()
      {
        collection.Ping(Files.Missing);
      });

      collection.Ping(Files.FujiFilmFinePixS1ProJPG);
      Test_Ping(collection);
      Assert.AreEqual(600, collection[0].Width);
      Assert.AreEqual(400, collection[0].Height);

      collection.Ping(new FileInfo(Files.FujiFilmFinePixS1ProJPG));
      Test_Ping(collection);
      Assert.AreEqual(600, collection[0].Width);
      Assert.AreEqual(400, collection[0].Height);

      collection.Ping(File.ReadAllBytes(Files.FujiFilmFinePixS1ProJPG));
      Test_Ping(collection);
      Assert.AreEqual(600, collection[0].Width);
      Assert.AreEqual(400, collection[0].Height);

      collection.Read(Files.SnakewarePNG);
      Assert.AreEqual(286, collection[0].Width);
      Assert.AreEqual(67, collection[0].Height);
      using (PixelCollection pixels = collection[0].GetPixels())
      {
        Assert.AreEqual(38324, pixels.ToArray().Length);
      }

      collection.Dispose();
    }
开发者ID:dlemstra,项目名称:Magick.NET,代码行数:54,代码来源:MagickImageCollectionTests.cs

示例4: Test_Dispose

    public void Test_Dispose()
    {
      MagickImage image = new MagickImage(MagickColors.Red, 10, 10);

      MagickImageCollection collection = new MagickImageCollection();
      collection.Add(image);
      collection.Dispose();

      Assert.AreEqual(0, collection.Count);
      ExceptionAssert.Throws<ObjectDisposedException>(delegate ()
      {
        image.Flip();
      });
    }
开发者ID:dlemstra,项目名称:Magick.NET,代码行数:14,代码来源:MagickImageCollectionTests.cs

示例5: SaveFile

 private void SaveFile()
 {
     try
     {
         progress = 0;
         progressMax = (recorded.Count * 4);
         MagickImage[] mia = new MagickImage[recorded.Count];
         Parallel.For(0, recorded.Count, (i) =>
         {
             mia[i] = new MagickImage(recorded[i].Bitmap);
             int pr = Interlocked.Increment(ref progress);
             if (pr % 16 == 0) Invoke(new EmptyCallback(showProgress));
         });
         progressMax = progress + (mia.Length * 3);
         bool[] mid = new bool[mia.Length];
         mid[0] = false;
         Parallel.For(1, mia.Length, (i) =>
         {
             mid[i] = mia[i].Equals(mia[i - 1]);
             int pr = Interlocked.Increment(ref progress);
             if (pr % 4 == 0) Invoke(new EmptyCallback(showProgress));
         });
         Parallel.For(1, mia.Length, (i) =>
         {
             if (mid[i])
             {
                 mia[i].Dispose();
                 mia[i] = null;
             }
         });
         progressMax = progress + (mia.Length * 2);
         MagickImageCollection mic = new MagickImageCollection();
         QuantizeSettings qs = new QuantizeSettings();
         qs.Colors = 256;
         int timeOffset = 0;
         int addi = -1;
         for (int i = 0; i < mia.Length; ++i)
         {
             MagickImage mi = mia[i];
             int addDelay;
             if (mi != null)
             {
                 mic.Add(mi);
                 ++addi;
                 addDelay = 0;
             }
             else
             {
                 addDelay = mic[addi].AnimationDelay;
             }
             int delayMs = recorded[((i + 1) < recorded.Count) ? i + 1 : i].Time + timeOffset;
             int delayCs = delayMs / 10;
             timeOffset = delayMs - (delayCs * 10);
             mic[addi].AnimationDelay = delayCs + addDelay;
             ++progress;
             if (progress % 32 == 0) Invoke(new EmptyCallback(showProgress));
         }
         // mic.OptimizePlus();
         progressMax = progress + (mic.Count);
         Parallel.For(0, mic.Count, (i) =>
         {
             mic[i].Quantize(qs);
             int pr = Interlocked.Increment(ref progress);
             Invoke(new EmptyCallback(showProgress));
         });
         mic.Write(fileName);
         Parallel.For(0, mic.Count, (i) =>
         {
             mic[i].Dispose();
         });
         mic.Dispose();
         GC.Collect();
     }
     catch (Exception ex)
     {
         exc = ex;
     }
     Invoke(new EmptyCallback(doneSaving));
 }
开发者ID:kaetemi,项目名称:GifCapture,代码行数:79,代码来源:MainWindow.cs


注:本文中的ImageMagick.MagickImageCollection.Dispose方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。