コード例 #1
0
                public void ShouldThrowExceptionWhenSettingsIsNull()
                {
                    var factory = new MagickImageFactory();
                    var bytes   = FileHelper.ReadAllBytes(Files.CirclePNG);

                    Assert.Throws <ArgumentNullException>("settings", () =>
                    {
                        factory.Create(bytes, 0, bytes.Length, (PixelReadSettings)null);
                    });
                }
コード例 #2
0
            public void ShouldCreateMagickImage()
            {
                var factory = new MagickImageFactory();

                using (var image = factory.Create())
                {
                    Assert.IsType <MagickImage>(image);
                    Assert.Equal(0, image.Width);
                }
            }
コード例 #3
0
                public void ShouldThrowExceptionWhenStreamIsNull()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new PixelReadSettings();

                    ExceptionAssert.Throws <ArgumentNullException>("stream", () =>
                    {
                        factory.Create((Stream)null, settings);
                    });
                }
コード例 #4
0
                public void ShouldThrowExceptionWhenStreamIsEmpty()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new PixelReadSettings();

                    ExceptionAssert.Throws <ArgumentException>("stream", () =>
                    {
                        factory.Create(new MemoryStream(), settings);
                    });
                }
コード例 #5
0
                public void ShouldThrowExceptionWhenSettingsIsNull()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new PixelReadSettings();

                    ExceptionAssert.Throws <ArgumentNullException>("settings", () =>
                    {
                        factory.Create(Files.CirclePNG, (PixelReadSettings)null);
                    });
                }
コード例 #6
0
                public void ShouldThrowExceptionWhenOffsetIsNegative()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new MagickReadSettings();

                    ExceptionAssert.Throws <ArgumentException>("offset", () =>
                    {
                        factory.Create(new byte[] { 215 }, -1, 0, settings);
                    });
                }
コード例 #7
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();

                    using (var image = factory.Create(Files.ImageMagickJPG))
                    {
                        Assert.IsInstanceOfType(image, typeof(MagickImage));
                        Assert.AreEqual(123, image.Width);
                    }
                }
コード例 #8
0
                public void ShouldThrowExceptionWhenFileNameIsEmpty()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new PixelReadSettings();

                    ExceptionAssert.Throws <ArgumentException>("fileName", () =>
                    {
                        factory.Create(string.Empty, settings);
                    });
                }
コード例 #9
0
                public void ShouldThrowExceptionWhenArrayIsEmpty()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new PixelReadSettings();

                    Assert.Throws <ArgumentException>("data", () =>
                    {
                        factory.Create(new byte[] { }, settings);
                    });
                }
コード例 #10
0
                public void ShouldThrowExceptionWhenFileInfoIsNull()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new MagickReadSettings();

                    Assert.Throws <ArgumentNullException>("file", () =>
                    {
                        factory.Create((FileInfo)null, settings);
                    });
                }
コード例 #11
0
                public void ShouldThrowExceptionWhenCountIsNegative()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new PixelReadSettings();

                    Assert.Throws <ArgumentException>("count", () =>
                    {
                        factory.Create(new byte[] { 215 }, 0, -1, settings);
                    });
                }
コード例 #12
0
                public void ShouldThrowExceptionWhenArrayIsNull()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new MagickReadSettings();

                    Assert.Throws <ArgumentNullException>("data", () =>
                    {
                        factory.Create((byte[])null, settings);
                    });
                }
コード例 #13
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var color   = MagickColors.Goldenrod;

                    using (var image = factory.Create(color, 10, 5))
                    {
                        Assert.IsInstanceOfType(image, typeof(MagickImage));
                        Assert.AreEqual(10, image.Width);
                    }
                }
コード例 #14
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var data    = File.ReadAllBytes(Files.ImageMagickJPG);

                    using (var image = factory.Create(new Span <byte>(data)))
                    {
                        Assert.IsType <MagickImage>(image);
                        Assert.Equal(123, image.Width);
                    }
                }
コード例 #15
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var data    = File.ReadAllBytes(Files.ImageMagickJPG);

                    using (var image = factory.Create(data, 0, data.Length))
                    {
                        Assert.IsInstanceOfType(image, typeof(MagickImage));
                        Assert.AreEqual(123, image.Width);
                    }
                }
コード例 #16
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var file    = new FileInfo(Files.ImageMagickJPG);

                    using (var image = factory.Create(file))
                    {
                        Assert.IsType <MagickImage>(image);
                        Assert.Equal(123, image.Width);
                    }
                }
コード例 #17
0
                public void ShouldReadImage()
                {
                    var factory = new MagickImageFactory();

                    using (var image = factory.Create("xc:red", 20, 30))
                    {
                        Assert.Equal(20, image.Width);
                        Assert.Equal(30, image.Height);
                        ColorAssert.Equal(MagickColors.Red, image, 10, 10);
                    }
                }
コード例 #18
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var color   = MagickColors.Goldenrod;

                    using (var image = factory.Create(color, 10, 5))
                    {
                        Assert.IsType <MagickImage>(image);
                        Assert.Equal(10, image.Width);
                    }
                }
コード例 #19
0
                public void ShouldNotThrowExceptionWhenSettingsIsNull()
                {
                    var factory = new MagickImageFactory();

                    using (var fileStream = File.OpenRead(Files.CirclePNG))
                    {
                        using (var image = factory.Create(fileStream, null))
                        {
                            Assert.IsType <MagickImage>(image);
                        }
                    }
                }
コード例 #20
0
                public void ShouldNotThrowExceptionWhenSettingsIsNull()
                {
                    var factory = new MagickImageFactory();

                    using (var fileStream = File.OpenRead(Files.CirclePNG))
                    {
                        Assert.Throws <ArgumentNullException>("settings", () =>
                        {
                            factory.Create(fileStream, (PixelReadSettings)null);
                        });
                    }
                }
コード例 #21
0
                public void ShouldNotThrowExceptionWhenSettingsIsNull()
                {
                    var factory = new MagickImageFactory();

                    using (var fileStream = File.OpenRead(Files.CirclePNG))
                    {
                        using (var image = factory.Create(fileStream, (MagickReadSettings)null))
                        {
                            Assert.IsInstanceOfType(image, typeof(MagickImage));
                        }
                    }
                }
コード例 #22
0
 public void ShouldCreateImageFromBitmap()
 {
     using (var bitmap = new Bitmap(Files.SnakewarePNG))
     {
         var factory = new MagickImageFactory();
         using (var image = factory.Create(bitmap))
         {
             Assert.Equal(286, image.Width);
             Assert.Equal(67, image.Height);
             Assert.Equal(MagickFormat.Png, image.Format);
         }
     }
 }
コード例 #23
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();

                    using (var stream = File.OpenRead(Files.ImageMagickJPG))
                    {
                        using (var image = factory.Create(stream))
                        {
                            Assert.IsType <MagickImage>(image);
                            Assert.Equal(123, image.Width);
                        }
                    }
                }
コード例 #24
0
                public void ShouldCreateMagickImage()
                {
                    var factory      = new MagickImageFactory();
                    var data         = File.ReadAllBytes(Files.ImageMagickJPG);
                    var readSettings = new MagickReadSettings
                    {
                        BackgroundColor = MagickColors.Goldenrod,
                    };

                    using (var image = factory.Create(new ReadOnlySequence <byte>(data), readSettings))
                    {
                        Assert.IsType <MagickImage>(image);
                        Assert.Equal(123, image.Width);
                        Assert.Equal(MagickColors.Goldenrod, image.Settings.BackgroundColor);
                    }
                }
コード例 #25
0
    public static MagickImage GenerateMagicImage(Texture2D tex)
    {
        //make null checks
        if (tex == null)
        {
            return(null);
        }
        //  if (magickFactory == null) magickFactory = new MagickImageFactory();
        //create Magic image
        var temp = magickFactory.Create(tex.EncodeToPNG());

        temp.Format = MagickFormat.Png32;
        MagickImage image = new MagickImage(temp);

        return(image);
    }
コード例 #26
0
                public void ShouldCreateMagickImage()
                {
                    var factory  = new MagickImageFactory();
                    var settings = new MagickReadSettings
                    {
                        BackgroundColor = MagickColors.Purple,
                    };
                    var data = File.ReadAllBytes(Files.ImageMagickJPG);

                    using (var image = factory.Create(data, 0, data.Length, settings))
                    {
                        Assert.IsType <MagickImage>(image);
                        Assert.Equal(123, image.Width);
                        Assert.Equal(MagickColors.Purple, image.BackgroundColor);
                    }
                }
コード例 #27
0
                public void ShouldCreateMagickImage()
                {
                    var factory      = new MagickImageFactory();
                    var data         = File.ReadAllBytes(Files.ImageMagickJPG);
                    var readSettings = new MagickReadSettings
                    {
                        BackgroundColor = MagickColors.Goldenrod,
                    };

                    using (var image = factory.Create(data, readSettings))
                    {
                        Assert.IsInstanceOfType(image, typeof(MagickImage));
                        Assert.AreEqual(123, image.Width);
                        Assert.AreEqual(MagickColors.Goldenrod, image.Settings.BackgroundColor);
                    }
                }
コード例 #28
0
        public async Task <byte[]> ProcessImage(ImageMeme meme, params string[] replacements)
        {
            var factory = new MagickImageFactory();

            using (var image = factory.Create(await(await imageStore.GetImageAsync(meme.Template.ImageBaseIdentifier)).GetBytes()))
            {
                List <MagickImage> MemeTexts = new List <MagickImage>();
                foreach (var m in meme.Template.memeText)
                {
                    MagickImage mti;

                    try
                    {
                        mti = new MagickImage($"caption:{m.GetMemeText(random, replacements)}", Composition(m));
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }

                    MemeTexts.Add(mti);
                    // well there's your problem
                    // image.Composite(mti,m.XStartPosition,m.YStartPosition,CompositeOperator.Over);
                    await Task.Run(() => {
                        image.Composite(mti, m.XStartPosition, m.YStartPosition, CompositeOperator.Over);
                    });

                    //
                }
                var bytes = await Task.Run <byte[]>(() => { return(image.ToByteArray()); });

                // dispose our dynamic images
                //image.Write(writeStream);
                foreach (var m in MemeTexts)
                {
                    m.Dispose();
                }
                return(bytes);
            }
        }
コード例 #29
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var data    = new byte[]
                    {
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0xf0, 0x3f,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0xf0, 0x3f,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                    };

                    var settings = new PixelReadSettings(2, 1, StorageType.Double, PixelMapping.RGBA);

                    using (var image = factory.Create(new Span <byte>(data), settings))
                    {
                        Assert.IsType <MagickImage>(image);
                        Assert.Equal(2, image.Width);
                    }
                }
コード例 #30
0
                public void ShouldCreateMagickImage()
                {
                    var factory = new MagickImageFactory();
                    var data    = new byte[]
                    {
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0xf0, 0x3f,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0xf0, 0x3f,
                        0, 0, 0, 0, 0, 0, 0, 0,
                        0, 0, 0, 0, 0, 0, 0, 0,
                    };

                    var settings = new PixelReadSettings(2, 1, StorageType.Double, PixelMapping.RGBA);

                    using (var image = factory.Create(data, settings))
                    {
                        Assert.IsInstanceOfType(image, typeof(MagickImage));
                        Assert.AreEqual(2, image.Width);
                    }
                }